; 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 -constprop -S | \
; RUN:   not grep {i32 0}

define i32 @test1() {
        %R = xor i32 123, -1            ; <i32> [#uses=1]
        ret i32 %R
}

define i32 @test2() {
        %R = xor i32 -123, -1           ; <i32> [#uses=1]
        ret i32 %R
}

