summaryrefslogtreecommitdiff
path: root/test/Integer
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-02-02 02:16:23 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-02-02 02:16:23 +0000
commit832254e1c2387c0cbeb0a820b8315fbe85cb003a (patch)
treed3d0c15237b69dfda4ea152775417f2cc67b369b /test/Integer
parent9a2ef9509e76869c3d658fb3e321d9b9e9d479d9 (diff)
downloadllvm-832254e1c2387c0cbeb0a820b8315fbe85cb003a.tar.gz
llvm-832254e1c2387c0cbeb0a820b8315fbe85cb003a.tar.bz2
llvm-832254e1c2387c0cbeb0a820b8315fbe85cb003a.tar.xz
Changes to support making the shift instructions be true BinaryOperators.
This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Integer')
-rw-r--r--test/Integer/BitBit.ll9
-rw-r--r--test/Integer/a1.ll8
-rw-r--r--test/Integer/a15.ll12
-rw-r--r--test/Integer/a17.ll12
-rw-r--r--test/Integer/a31.ll12
-rw-r--r--test/Integer/a33.ll12
-rw-r--r--test/Integer/a63.ll12
-rw-r--r--test/Integer/a7.ll14
-rw-r--r--test/Integer/a9.ll12
-rw-r--r--test/Integer/testarith_bt.ll6
-rw-r--r--test/Integer/testlogical_new_bt.ll6
11 files changed, 58 insertions, 57 deletions
diff --git a/test/Integer/BitBit.ll b/test/Integer/BitBit.ll
index 2b01c447d9..7c17326e19 100644
--- a/test/Integer/BitBit.ll
+++ b/test/Integer/BitBit.ll
@@ -14,11 +14,12 @@ begin
%t3 = sext i31 %i to i33
%t4 = or i33 %t3, %j
%t5 = xor i31 %t2, 7
- %t6 = shl i31 %i, i8 2
+ %t6 = shl i31 %i, 2
%t7 = trunc i31 %i to i8
- %t8 = shl i8 %t7, i8 3
- %t9 = lshr i33 %j, i8 31
- %t10 = ashr i33 %j, i8 %t7
+ %t8 = shl i8 %t7, 3
+ %t9 = lshr i33 %j, 31
+ %t7z = zext i8 %t7 to i33
+ %t10 = ashr i33 %j, %t7z
ret void
end
diff --git a/test/Integer/a1.ll b/test/Integer/a1.ll
index 1e7934402e..cfd69f06aa 100644
--- a/test/Integer/a1.ll
+++ b/test/Integer/a1.ll
@@ -10,10 +10,10 @@
@f = constant i1 sub(i1 1 , i1 -1)
@g = constant i1 sub(i1 1 , i1 1)
-@h = constant i1 shl(i1 1 , i8 1)
-@i = constant i1 shl(i1 1 , i8 0)
-@j = constant i1 lshr(i1 1, i8 1)
-@m = constant i1 ashr(i1 1, i8 1)
+@h = constant i1 shl(i1 1 , i1 1)
+@i = constant i1 shl(i1 1 , i1 0)
+@j = constant i1 lshr(i1 1, i1 1)
+@m = constant i1 ashr(i1 1, i1 1)
@n = constant i1 mul(i1 -1, i1 1)
@o = constant i1 sdiv(i1 -1, i1 1)
diff --git a/test/Integer/a15.ll b/test/Integer/a15.ll
index d3cc319b42..4e4908cbbb 100644
--- a/test/Integer/a15.ll
+++ b/test/Integer/a15.ll
@@ -10,12 +10,12 @@
@f = constant i15 sub(i15 0 , i15 32767)
@g = constant i15 sub(i15 2 , i15 32767)
-@h = constant i15 shl(i15 1 , i8 15)
-@i = constant i15 shl(i15 1 , i8 14)
-@j = constant i15 lshr(i15 32767 , i8 14)
-@k = constant i15 lshr(i15 32767 , i8 15)
-@l = constant i15 ashr(i15 32767 , i8 14)
-@m = constant i15 ashr(i15 32767 , i8 15)
+@h = constant i15 shl(i15 1 , i15 15)
+@i = constant i15 shl(i15 1 , i15 14)
+@j = constant i15 lshr(i15 32767 , i15 14)
+@k = constant i15 lshr(i15 32767 , i15 15)
+@l = constant i15 ashr(i15 32767 , i15 14)
+@m = constant i15 ashr(i15 32767 , i15 15)
@n = constant i15 mul(i15 32767, i15 2)
@q = constant i15 mul(i15 -16383,i15 -3)
diff --git a/test/Integer/a17.ll b/test/Integer/a17.ll
index 82760786cd..a83b2000d8 100644
--- a/test/Integer/a17.ll
+++ b/test/Integer/a17.ll
@@ -10,12 +10,12 @@
@f = constant i17 sub(i17 0 , i17 131071)
@g = constant i17 sub(i17 2 , i17 131071)
-@h = constant i17 shl(i17 1 , i8 17)
-@i = constant i17 shl(i17 1 , i8 16)
-@j = constant i17 lshr(i17 131071 , i8 16)
-@k = constant i17 lshr(i17 131071 , i8 17)
-@l = constant i17 ashr(i17 131071 , i8 16)
-@m = constant i17 ashr(i17 131071 , i8 17)
+@h = constant i17 shl(i17 1 , i17 17)
+@i = constant i17 shl(i17 1 , i17 16)
+@j = constant i17 lshr(i17 131071 , i17 16)
+@k = constant i17 lshr(i17 131071 , i17 17)
+@l = constant i17 ashr(i17 131071 , i17 16)
+@m = constant i17 ashr(i17 131071 , i17 17)
@n = constant i17 mul(i17 131071, i17 2)
@q = constant i17 sdiv(i17 -1, i17 65535)
diff --git a/test/Integer/a31.ll b/test/Integer/a31.ll
index fa3774b4fb..57c6191bdd 100644
--- a/test/Integer/a31.ll
+++ b/test/Integer/a31.ll
@@ -10,12 +10,12 @@
@f = constant i31 sub(i31 0 , i31 2147483647)
@g = constant i31 sub(i31 2 , i31 2147483647)
-@h = constant i31 shl(i31 1 , i8 31)
-@i = constant i31 shl(i31 1 , i8 30)
-@j = constant i31 lshr(i31 2147483647 , i8 30)
-@k = constant i31 lshr(i31 2147483647 , i8 31)
-@l = constant i31 ashr(i31 2147483647 , i8 30)
-@m = constant i31 ashr(i31 2147483647 , i8 31)
+@h = constant i31 shl(i31 1 , i31 31)
+@i = constant i31 shl(i31 1 , i31 30)
+@j = constant i31 lshr(i31 2147483647 , i31 30)
+@k = constant i31 lshr(i31 2147483647 , i31 31)
+@l = constant i31 ashr(i31 2147483647 , i31 30)
+@m = constant i31 ashr(i31 2147483647 , i31 31)
@n = constant i31 mul(i31 2147483647, i31 2)
@q = constant i31 sdiv(i31 -1, i31 1073741823)
diff --git a/test/Integer/a33.ll b/test/Integer/a33.ll
index cf14274acf..8ef992b1f4 100644
--- a/test/Integer/a33.ll
+++ b/test/Integer/a33.ll
@@ -10,12 +10,12 @@
@f = constant i33 sub(i33 0 , i33 8589934591)
@g = constant i33 sub(i33 2 , i33 8589934591)
-@h = constant i33 shl(i33 1 , i8 33)
-@i = constant i33 shl(i33 1 , i8 32)
-@j = constant i33 lshr(i33 8589934591 , i8 32)
-@k = constant i33 lshr(i33 8589934591 , i8 33)
-@l = constant i33 ashr(i33 8589934591 , i8 32)
-@m = constant i33 ashr(i33 8589934591 , i8 33)
+@h = constant i33 shl(i33 1 , i33 33)
+@i = constant i33 shl(i33 1 , i33 32)
+@j = constant i33 lshr(i33 8589934591 , i33 32)
+@k = constant i33 lshr(i33 8589934591 , i33 33)
+@l = constant i33 ashr(i33 8589934591 , i33 32)
+@m = constant i33 ashr(i33 8589934591 , i33 33)
@n = constant i33 mul(i33 8589934591, i33 2)
@q = constant i33 sdiv(i33 -1, i33 4294967295)
diff --git a/test/Integer/a63.ll b/test/Integer/a63.ll
index ec348ff204..6dadaf79e0 100644
--- a/test/Integer/a63.ll
+++ b/test/Integer/a63.ll
@@ -10,12 +10,12 @@
@f = constant i63 sub(i63 0 , i63 9223372036854775807)
@g = constant i63 sub(i63 2 , i63 9223372036854775807)
-@h = constant i63 shl(i63 1 , i8 63)
-@i = constant i63 shl(i63 1 , i8 62)
-@j = constant i63 lshr(i63 9223372036854775807 , i8 62)
-@k = constant i63 lshr(i63 9223372036854775807 , i8 63)
-@l = constant i63 ashr(i63 9223372036854775807 , i8 62)
-@m = constant i63 ashr(i63 9223372036854775807 , i8 63)
+@h = constant i63 shl(i63 1 , i63 63)
+@i = constant i63 shl(i63 1 , i63 62)
+@j = constant i63 lshr(i63 9223372036854775807 , i63 62)
+@k = constant i63 lshr(i63 9223372036854775807 , i63 63)
+@l = constant i63 ashr(i63 9223372036854775807 , i63 62)
+@m = constant i63 ashr(i63 9223372036854775807 , i63 63)
@n = constant i63 mul(i63 9223372036854775807, i63 2)
@q = constant i63 sdiv(i63 -1, i63 4611686018427387903)
diff --git a/test/Integer/a7.ll b/test/Integer/a7.ll
index 91904cc3ec..294db18845 100644
--- a/test/Integer/a7.ll
+++ b/test/Integer/a7.ll
@@ -13,13 +13,13 @@
@r = constant i7 sub(i7 -3, i7 120)
@s = constant i7 sub(i7 -3, i7 -8)
-@h = constant i7 shl(i7 1 , i8 7)
-@i = constant i7 shl(i7 1 , i8 6)
-@j = constant i7 lshr(i7 127 , i8 6)
-@k = constant i7 lshr(i7 127 , i8 7)
-@l = constant i7 ashr(i7 127 , i8 6)
-@m = constant i7 ashr(i7 127 , i8 7)
-@m2= constant i7 ashr(i7 -1 , i8 3)
+@h = constant i7 shl(i7 1 , i7 7)
+@i = constant i7 shl(i7 1 , i7 6)
+@j = constant i7 lshr(i7 127 , i7 6)
+@k = constant i7 lshr(i7 127 , i7 7)
+@l = constant i7 ashr(i7 127 , i7 6)
+@m = constant i7 ashr(i7 127 , i7 7)
+@m2= constant i7 ashr(i7 -1 , i7 3)
@n = constant i7 mul(i7 127, i7 2)
@t = constant i7 mul(i7 -63, i7 -2)
diff --git a/test/Integer/a9.ll b/test/Integer/a9.ll
index 8e4cd9a8db..990c4459fc 100644
--- a/test/Integer/a9.ll
+++ b/test/Integer/a9.ll
@@ -10,12 +10,12 @@
@f = constant i9 sub(i9 0 , i9 511)
@g = constant i9 sub(i9 2 , i9 511)
-@h = constant i9 shl(i9 1 , i8 9)
-@i = constant i9 shl(i9 1 , i8 8)
-@j = constant i9 lshr(i9 511 , i8 8)
-@k = constant i9 lshr(i9 511 , i8 9)
-@l = constant i9 ashr(i9 511 , i8 8)
-@m = constant i9 ashr(i9 511 , i8 9)
+@h = constant i9 shl(i9 1 , i9 9)
+@i = constant i9 shl(i9 1 , i9 8)
+@j = constant i9 lshr(i9 511 , i9 8)
+@k = constant i9 lshr(i9 511 , i9 9)
+@l = constant i9 ashr(i9 511 , i9 8)
+@m = constant i9 ashr(i9 511 , i9 9)
@n = constant i9 mul(i9 511, i9 2)
@q = constant i9 sdiv(i9 511, i9 2)
diff --git a/test/Integer/testarith_bt.ll b/test/Integer/testarith_bt.ll
index 2e0ec18982..f962e393d3 100644
--- a/test/Integer/testarith_bt.ll
+++ b/test/Integer/testarith_bt.ll
@@ -13,9 +13,9 @@ begin
%t5 = sdiv i31 %t1, %t2
%t6 = urem i31 %t1, %t2
%t7 = srem i31 %t1, %t2
- %t8 = shl i31 %t1, i8 9
- %t9 = lshr i31 %t1, i8 9
- %t10= ashr i31 %t1, i8 9
+ %t8 = shl i31 %t1, 9
+ %t9 = lshr i31 %t1, 9
+ %t10= ashr i31 %t1, 9
%f1 = sitofp i31 %t1 to float
%f2 = fdiv float 4.0, %f1
ret i31 %t3
diff --git a/test/Integer/testlogical_new_bt.ll b/test/Integer/testlogical_new_bt.ll
index 41f5d0cac3..349b4ab95f 100644
--- a/test/Integer/testlogical_new_bt.ll
+++ b/test/Integer/testlogical_new_bt.ll
@@ -9,8 +9,8 @@ begin
%t1 = xor i31 %i0, %j0
%t2 = or i31 %i0, %j0
%t3 = and i31 %t1, %t2
- %t4 = shl i31 %i0, i8 2
- %t5 = ashr i31 %i0, i8 2
- %t6 = lshr i31 %j0, i8 22
+ %t4 = shl i31 %i0, 2
+ %t5 = ashr i31 %i0, 2
+ %t6 = lshr i31 %j0, 22
ret i31 %t3
end