Reid Spencer | c094836 | 2007-01-16 18:08:22 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as %s -o - | llvm-dis > %t.ll |
| 2 | ; RUN: diff %t.ll %s.out |
| 3 | |
| 4 | ; test 31 bits |
| 5 | ; |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 6 | @b = constant i31 add(i31 2147483647, i31 1) |
| 7 | @c = constant i31 add(i31 2147483647, i31 2147483647) |
| 8 | @d = constant i31 add(i31 2147483640, i31 8) |
| 9 | @e = constant i31 sub(i31 0 , i31 1) |
| 10 | @f = constant i31 sub(i31 0 , i31 2147483647) |
| 11 | @g = constant i31 sub(i31 2 , i31 2147483647) |
Reid Spencer | c094836 | 2007-01-16 18:08:22 +0000 | [diff] [blame] | 12 | |
Reid Spencer | 832254e | 2007-02-02 02:16:23 +0000 | [diff] [blame] | 13 | @h = constant i31 shl(i31 1 , i31 31) |
| 14 | @i = constant i31 shl(i31 1 , i31 30) |
| 15 | @j = constant i31 lshr(i31 2147483647 , i31 30) |
Reid Spencer | 832254e | 2007-02-02 02:16:23 +0000 | [diff] [blame] | 16 | @l = constant i31 ashr(i31 2147483647 , i31 30) |
Reid Spencer | c094836 | 2007-01-16 18:08:22 +0000 | [diff] [blame] | 17 | |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 18 | @n = constant i31 mul(i31 2147483647, i31 2) |
| 19 | @q = constant i31 sdiv(i31 -1, i31 1073741823) |
| 20 | @r = constant i31 udiv(i31 -1, i31 1073741823) |
Reid Spencer | 5957d8f | 2007-03-24 21:55:26 +0000 | [diff] [blame] | 21 | @s = constant i31 srem(i31 1, i31 2147483646) |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 22 | @t = constant i31 urem(i31 2147483647,i31 -1) |
| 23 | @o = constant i31 trunc( i32 2147483648 to i31 ) |
| 24 | @p = constant i31 trunc( i32 2147483647 to i31 ) |
Reid Spencer | 5957d8f | 2007-03-24 21:55:26 +0000 | [diff] [blame] | 25 | @u = constant i31 srem(i31 -3, i31 17) |