blob: c0c571f630680de628b56f86b3a9b02cdf8d21b0 [file] [log] [blame]
Reid Spencerc0948362007-01-16 18:08:22 +00001; RUN: llvm-as %s -o - | llvm-dis > %t.ll
2; RUN: diff %t.ll %s.out
3
4; test 31 bits
5;
Reid Spencere3ff5ad2007-01-26 08:25:06 +00006@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 Spencerc0948362007-01-16 18:08:22 +000012
Reid Spencer832254e2007-02-02 02:16:23 +000013@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 Spencer832254e2007-02-02 02:16:23 +000016@l = constant i31 ashr(i31 2147483647 , i31 30)
Reid Spencerc0948362007-01-16 18:08:22 +000017
Reid Spencere3ff5ad2007-01-26 08:25:06 +000018@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 Spencer5957d8f2007-03-24 21:55:26 +000021@s = constant i31 srem(i31 1, i31 2147483646)
Reid Spencere3ff5ad2007-01-26 08:25:06 +000022@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 Spencer5957d8f2007-03-24 21:55:26 +000025@u = constant i31 srem(i31 -3, i31 17)