[llvm-commits] CVS: llvm/test/Integer/BitBit.ll a1.ll a15.ll a17.ll a31.ll a33.ll a63.ll a7.ll a9.ll testarith_bt.ll testlogical_new_bt.ll

Reid Spencer reid at x10sys.com
Thu Feb 1 18:17:37 PST 2007



Changes in directory llvm/test/Integer:

BitBit.ll updated: 1.2 -> 1.3
a1.ll updated: 1.3 -> 1.4
a15.ll updated: 1.3 -> 1.4
a17.ll updated: 1.3 -> 1.4
a31.ll updated: 1.3 -> 1.4
a33.ll updated: 1.3 -> 1.4
a63.ll updated: 1.3 -> 1.4
a7.ll updated: 1.4 -> 1.5
a9.ll updated: 1.3 -> 1.4
testarith_bt.ll updated: 1.3 -> 1.4
testlogical_new_bt.ll updated: 1.2 -> 1.3
---
Log message:

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.


---
Diffs of the changes:  (+58 -57)

 BitBit.ll             |    9 +++++----
 a1.ll                 |    8 ++++----
 a15.ll                |   12 ++++++------
 a17.ll                |   12 ++++++------
 a31.ll                |   12 ++++++------
 a33.ll                |   12 ++++++------
 a63.ll                |   12 ++++++------
 a7.ll                 |   14 +++++++-------
 a9.ll                 |   12 ++++++------
 testarith_bt.ll       |    6 +++---
 testlogical_new_bt.ll |    6 +++---
 11 files changed, 58 insertions(+), 57 deletions(-)


Index: llvm/test/Integer/BitBit.ll
diff -u llvm/test/Integer/BitBit.ll:1.2 llvm/test/Integer/BitBit.ll:1.3
--- llvm/test/Integer/BitBit.ll:1.2	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/BitBit.ll	Thu Feb  1 20:16:22 2007
@@ -14,11 +14,12 @@
         %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
 


Index: llvm/test/Integer/a1.ll
diff -u llvm/test/Integer/a1.ll:1.3 llvm/test/Integer/a1.ll:1.4
--- llvm/test/Integer/a1.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a1.ll	Thu Feb  1 20:16:22 2007
@@ -10,10 +10,10 @@
 @f = constant i1 sub(i1 1 , i1 -1)
 @g = constant i1 sub(i1 1 , i1 1)
 
- at h = constant i1 shl(i1 1 , i8 1)
- at i = constant i1 shl(i1 1 , i8 0)
- at j = constant i1 lshr(i1 1, i8 1)
- at m = constant i1 ashr(i1 1, i8 1)
+ at h = constant i1 shl(i1 1 , i1 1)
+ at i = constant i1 shl(i1 1 , i1 0)
+ at j = constant i1 lshr(i1 1, i1 1)
+ at m = constant i1 ashr(i1 1, i1 1)
 
 @n = constant i1 mul(i1 -1, i1 1)
 @o = constant i1 sdiv(i1 -1, i1 1)


Index: llvm/test/Integer/a15.ll
diff -u llvm/test/Integer/a15.ll:1.3 llvm/test/Integer/a15.ll:1.4
--- llvm/test/Integer/a15.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a15.ll	Thu Feb  1 20:16:22 2007
@@ -10,12 +10,12 @@
 @f = constant i15 sub(i15 0 , i15 32767)
 @g = constant i15 sub(i15 2 , i15 32767)
 
- at h = constant i15 shl(i15 1 , i8 15)
- at i = constant i15 shl(i15 1 , i8 14)
- at j = constant i15 lshr(i15 32767 , i8 14)
- at k = constant i15 lshr(i15 32767 , i8 15)
- at l = constant i15 ashr(i15 32767 , i8 14)
- at m = constant i15 ashr(i15 32767 , i8 15)
+ at h = constant i15 shl(i15 1 , i15 15)
+ at i = constant i15 shl(i15 1 , i15 14)
+ at j = constant i15 lshr(i15 32767 , i15 14)
+ at k = constant i15 lshr(i15 32767 , i15 15)
+ at l = constant i15 ashr(i15 32767 , i15 14)
+ at m = constant i15 ashr(i15 32767 , i15 15)
 
 @n = constant i15 mul(i15 32767, i15 2)
 @q = constant i15 mul(i15 -16383,i15 -3)


Index: llvm/test/Integer/a17.ll
diff -u llvm/test/Integer/a17.ll:1.3 llvm/test/Integer/a17.ll:1.4
--- llvm/test/Integer/a17.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a17.ll	Thu Feb  1 20:16:22 2007
@@ -10,12 +10,12 @@
 @f = constant i17 sub(i17 0 , i17 131071)
 @g = constant i17 sub(i17 2 , i17 131071)
 
- at h = constant i17 shl(i17 1 , i8 17)
- at i = constant i17 shl(i17 1 , i8 16)
- at j = constant i17 lshr(i17 131071 , i8 16)
- at k = constant i17 lshr(i17 131071 , i8 17)
- at l = constant i17 ashr(i17 131071 , i8 16)
- at m = constant i17 ashr(i17 131071 , i8 17)
+ at h = constant i17 shl(i17 1 , i17 17)
+ at i = constant i17 shl(i17 1 , i17 16)
+ at j = constant i17 lshr(i17 131071 , i17 16)
+ at k = constant i17 lshr(i17 131071 , i17 17)
+ at l = constant i17 ashr(i17 131071 , i17 16)
+ at m = constant i17 ashr(i17 131071 , i17 17)
 
 @n = constant i17 mul(i17 131071, i17 2) 
 @q = constant i17 sdiv(i17 -1,    i17 65535)


Index: llvm/test/Integer/a31.ll
diff -u llvm/test/Integer/a31.ll:1.3 llvm/test/Integer/a31.ll:1.4
--- llvm/test/Integer/a31.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a31.ll	Thu Feb  1 20:16:22 2007
@@ -10,12 +10,12 @@
 @f = constant i31 sub(i31 0 , i31 2147483647)
 @g = constant i31 sub(i31 2 , i31 2147483647)
 
- at h = constant i31 shl(i31 1 , i8 31)
- at i = constant i31 shl(i31 1 , i8 30)
- at j = constant i31 lshr(i31 2147483647 , i8 30)
- at k = constant i31 lshr(i31 2147483647 , i8 31)
- at l = constant i31 ashr(i31 2147483647 , i8 30)
- at m = constant i31 ashr(i31 2147483647 , i8 31)
+ at h = constant i31 shl(i31 1 , i31 31)
+ at i = constant i31 shl(i31 1 , i31 30)
+ at j = constant i31 lshr(i31 2147483647 , i31 30)
+ at k = constant i31 lshr(i31 2147483647 , i31 31)
+ at l = constant i31 ashr(i31 2147483647 , i31 30)
+ at m = constant i31 ashr(i31 2147483647 , i31 31)
 
 @n = constant i31 mul(i31 2147483647, i31 2)
 @q = constant i31 sdiv(i31 -1,        i31 1073741823)


Index: llvm/test/Integer/a33.ll
diff -u llvm/test/Integer/a33.ll:1.3 llvm/test/Integer/a33.ll:1.4
--- llvm/test/Integer/a33.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a33.ll	Thu Feb  1 20:16:22 2007
@@ -10,12 +10,12 @@
 @f = constant i33 sub(i33 0 , i33 8589934591)
 @g = constant i33 sub(i33 2 , i33 8589934591)
 
- at h = constant i33 shl(i33 1 , i8 33)
- at i = constant i33 shl(i33 1 , i8 32)
- at j = constant i33 lshr(i33 8589934591 , i8 32)
- at k = constant i33 lshr(i33 8589934591 , i8 33)
- at l = constant i33 ashr(i33 8589934591 , i8 32)
- at m = constant i33 ashr(i33 8589934591 , i8 33)
+ at h = constant i33 shl(i33 1 , i33 33)
+ at i = constant i33 shl(i33 1 , i33 32)
+ at j = constant i33 lshr(i33 8589934591 , i33 32)
+ at k = constant i33 lshr(i33 8589934591 , i33 33)
+ at l = constant i33 ashr(i33 8589934591 , i33 32)
+ at m = constant i33 ashr(i33 8589934591 , i33 33)
 
 @n = constant i33 mul(i33 8589934591, i33 2)
 @q = constant i33 sdiv(i33 -1,        i33 4294967295)


Index: llvm/test/Integer/a63.ll
diff -u llvm/test/Integer/a63.ll:1.3 llvm/test/Integer/a63.ll:1.4
--- llvm/test/Integer/a63.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a63.ll	Thu Feb  1 20:16:22 2007
@@ -10,12 +10,12 @@
 @f = constant i63 sub(i63 0 , i63 9223372036854775807)
 @g = constant i63 sub(i63 2 , i63 9223372036854775807)
 
- at h = constant i63 shl(i63 1 , i8 63)
- at i = constant i63 shl(i63 1 , i8 62)
- at j = constant i63 lshr(i63 9223372036854775807 , i8 62)
- at k = constant i63 lshr(i63 9223372036854775807 , i8 63)
- at l = constant i63 ashr(i63 9223372036854775807 , i8 62)
- at m = constant i63 ashr(i63 9223372036854775807 , i8 63)
+ at h = constant i63 shl(i63 1 , i63 63)
+ at i = constant i63 shl(i63 1 , i63 62)
+ at j = constant i63 lshr(i63 9223372036854775807 , i63 62)
+ at k = constant i63 lshr(i63 9223372036854775807 , i63 63)
+ at l = constant i63 ashr(i63 9223372036854775807 , i63 62)
+ at m = constant i63 ashr(i63 9223372036854775807 , i63 63)
 
 @n = constant i63 mul(i63 9223372036854775807, i63 2) 
 @q = constant i63 sdiv(i63 -1,                 i63 4611686018427387903)


Index: llvm/test/Integer/a7.ll
diff -u llvm/test/Integer/a7.ll:1.4 llvm/test/Integer/a7.ll:1.5
--- llvm/test/Integer/a7.ll:1.4	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a7.ll	Thu Feb  1 20:16:22 2007
@@ -13,13 +13,13 @@
 @r = constant i7 sub(i7 -3, i7 120)
 @s = constant i7 sub(i7 -3, i7 -8)
 
- at h = constant i7 shl(i7 1 , i8 7)
- at i = constant i7 shl(i7 1 , i8 6)
- at j = constant i7 lshr(i7 127 , i8 6)
- at k = constant i7 lshr(i7 127 , i8 7)
- at l = constant i7 ashr(i7 127 , i8 6)
- at m = constant i7 ashr(i7 127 , i8 7)
- at m2= constant i7 ashr(i7 -1  , i8 3)
+ at h = constant i7 shl(i7 1 , i7 7)
+ at i = constant i7 shl(i7 1 , i7 6)
+ at j = constant i7 lshr(i7 127 , i7 6)
+ at k = constant i7 lshr(i7 127 , i7 7)
+ at l = constant i7 ashr(i7 127 , i7 6)
+ at m = constant i7 ashr(i7 127 , i7 7)
+ at m2= constant i7 ashr(i7 -1  , i7 3)
 
 @n = constant i7 mul(i7 127, i7 2)
 @t = constant i7 mul(i7 -63, i7 -2)


Index: llvm/test/Integer/a9.ll
diff -u llvm/test/Integer/a9.ll:1.3 llvm/test/Integer/a9.ll:1.4
--- llvm/test/Integer/a9.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/a9.ll	Thu Feb  1 20:16:22 2007
@@ -10,12 +10,12 @@
 @f = constant i9 sub(i9 0 , i9 511)
 @g = constant i9 sub(i9 2 , i9 511)
 
- at h = constant i9 shl(i9 1 , i8 9)
- at i = constant i9 shl(i9 1 , i8 8)
- at j = constant i9 lshr(i9 511 , i8 8)
- at k = constant i9 lshr(i9 511 , i8 9)
- at l = constant i9 ashr(i9 511 , i8 8)
- at m = constant i9 ashr(i9 511 , i8 9)
+ at h = constant i9 shl(i9 1 , i9 9)
+ at i = constant i9 shl(i9 1 , i9 8)
+ at j = constant i9 lshr(i9 511 , i9 8)
+ at k = constant i9 lshr(i9 511 , i9 9)
+ at l = constant i9 ashr(i9 511 , i9 8)
+ at m = constant i9 ashr(i9 511 , i9 9)
 
 @n = constant i9 mul(i9 511, i9 2)
 @q = constant i9 sdiv(i9 511, i9 2)


Index: llvm/test/Integer/testarith_bt.ll
diff -u llvm/test/Integer/testarith_bt.ll:1.3 llvm/test/Integer/testarith_bt.ll:1.4
--- llvm/test/Integer/testarith_bt.ll:1.3	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/testarith_bt.ll	Thu Feb  1 20:16:22 2007
@@ -13,9 +13,9 @@
         %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


Index: llvm/test/Integer/testlogical_new_bt.ll
diff -u llvm/test/Integer/testlogical_new_bt.ll:1.2 llvm/test/Integer/testlogical_new_bt.ll:1.3
--- llvm/test/Integer/testlogical_new_bt.ll:1.2	Fri Jan 26 02:25:06 2007
+++ llvm/test/Integer/testlogical_new_bt.ll	Thu Feb  1 20:16:22 2007
@@ -9,8 +9,8 @@
 	%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






More information about the llvm-commits mailing list