xref: /llvm-project/llvm/test/Transforms/InstSimplify/ConstProp/binop-identity-undef.ll (revision b280ee1dd7e9b36ae7aaa3953556e4b7a7f31a29)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -passes=instsimplify -S %s | FileCheck %s
3
4define i32 @and1() {
5; CHECK-LABEL: @and1(
6; CHECK-NEXT:    ret i32 undef
7;
8  %r = and i32 undef, -1
9  ret i32 %r
10}
11
12define i32 @and2() {
13; CHECK-LABEL: @and2(
14; CHECK-NEXT:    ret i32 undef
15;
16  %r = and i32 -1, undef
17  ret i32 %r
18}
19
20define i32 @and3_no_identity() {
21; CHECK-LABEL: @and3_no_identity(
22; CHECK-NEXT:    ret i32 0
23;
24  %r = and i32 10, undef
25  ret i32 %r
26}
27
28define i32 @or1() {
29; CHECK-LABEL: @or1(
30; CHECK-NEXT:    ret i32 undef
31;
32  %r = or i32 0, undef
33  ret i32 %r
34}
35
36define i32 @or2() {
37; CHECK-LABEL: @or2(
38; CHECK-NEXT:    ret i32 undef
39;
40  %r = or i32 undef, 0
41  ret i32 %r
42}
43
44define i32 @or3_no_identity() {
45; CHECK-LABEL: @or3_no_identity(
46; CHECK-NEXT:    ret i32 -1
47;
48  %r = or i32 undef, 10
49  ret i32 %r
50}
51