; This test makes sure that these instructions are properly eliminated.
;
-
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output &&
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'xor '
+; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: not grep {xor }
+; END.
%G1 = global uint 0
%G2 = global uint 0
ret int %tmp4
}
+
+int %test27(int %b, int %c, int %d) {
+ %tmp2 = xor int %d, %b
+ %tmp5 = xor int %d, %c
+ %tmp = icmp eq int %tmp2, %tmp5
+ %tmp6 = zext bool %tmp to int
+ ret int %tmp6
+}
+
+int %test28(int %indvar) {
+ %tmp7 = add int %indvar, -2147483647
+ %tmp214 = xor int %tmp7, -2147483648
+ ret int %tmp214
+}
+