; Our back-end is generating set-unsigned (setuw) for -2, when it
; should be using setsw.  
;
; RUN: as %s -f -o Output/%s.bc
; RUN: llc -f Output/%s.bc
; RUN: /usr/ccs/bin/as Output/%s.s -xarch=v9
; RUN: /opt/SUNWspro60/bin/cc -xarch=v9 Output/%s.o -o Output/%s.exe
; RUN: Output/%s.exe
;

implementation
declare void "abort"()

int "main"(int %argc, sbyte * * %argv)
begin
	%T1 = cast int 2 to uint
	%tmp = add uint %T1, 4294967294  ; == -2
	%cond = seteq uint %tmp, 0
	br bool %cond, label %Ok, label %Fail
Ok:
	ret int 0
Fail:
	call void %abort()
	ret int 1
end
