; This bug has to do with the fact that constant propagation was implemented in ; terms of _logical_ not (! in C) instead of _bitwise_ not (~ in C). This was ; due to a spec change. ; Fix #2: The unary not instruction now no longer exists. Change to xor. ; RUN: opt < %s -instsimplify -S | \ ; RUN: not grep "i32 0" define i32 @test1() { %R = xor i32 123, -1 ; [#uses=1] ret i32 %R } define i32 @test2() { %R = xor i32 -123, -1 ; [#uses=1] ret i32 %R }