aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/ConstProp/2002-05-03-NotOperator.ll
blob: cbc1b6c6c8bfda8fe60188b7b0a0d3e96a5b2296 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; This bug has to do with the fact that constant propogation 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: if as < %s | opt -constprop | dis | grep 'int 0'
; RUN: then exit 1
; RUN: else exit 0
; RUN: fi

int "test1"() {
	%R = xor int 123, -1
	ret int %R
}

int "test2"() {
	%R = xor int -123, -1
	ret int %R
}