| ; 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 |