diff --git a/test/Transforms/InstCombine/xor2.ll b/test/Transforms/InstCombine/xor2.ll new file mode 100644 index 00000000000..9b6a3fef698 --- /dev/null +++ b/test/Transforms/InstCombine/xor2.ll @@ -0,0 +1,19 @@ +; This test makes sure that these instructions are properly eliminated. +; + +; RUN: llvm-as < %s | opt -instcombine -disable-output && +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'xor ' + +; PR1253 +define i1 @test0(i32 %A) { + %B = xor i32 %A, -2147483648 + %C = icmp sgt i32 %B, -1 + ret i1 %C +} + +define i1 @test1(i32 %A) { + %B = xor i32 %A, 12345 + %C = icmp slt i32 %B, 0 + ret i1 %C +} +