Fix incorrect test cases for srem. The definition of srem is a remainder so
authorReid Spencer <rspencer@reidspencer.com>
Sat, 24 Mar 2007 21:55:26 +0000 (21:55 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sat, 24 Mar 2007 21:55:26 +0000 (21:55 +0000)
that the sign of the result follows the sign of the divisor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35301 91177308-0d34-0410-b5e6-96231b3b80d8

13 files changed:
test/Integer/a1.ll
test/Integer/a1.ll.out
test/Integer/a15.ll
test/Integer/a15.ll.out
test/Integer/a17.ll
test/Integer/a17.ll.out
test/Integer/a31.ll
test/Integer/a31.ll.out
test/Integer/a33.ll
test/Integer/a33.ll.out
test/Integer/a63.ll.out
test/Integer/a7.ll.out
test/Integer/a9.ll.out

index 0404d742e742707ae6a37c3656b2d4c287c58b60..e6383986795542f68c0401fd25833c3b8ca5d500 100644 (file)
@@ -22,3 +22,4 @@
 @r = constant i1 udiv(i1 1, i1 -1)
 @s = constant i1 srem(i1 -1, i1 1) ; overflow
 @t = constant i1 urem(i1 -1, i1 1)
+@u = constant i1 srem(i1  1, i1 -1) ; overflow
index 0205e3bce8fe63d4770b7db240cafec9d2cda85f..8deafd6bf57b81b9c51158638e7bdd1e8117a4cd 100644 (file)
@@ -16,5 +16,6 @@
 @r = constant i1 true          ; <i1*> [#uses=0]
 @s = constant i1 srem (i1 true, i1 true)               ; <i1*> [#uses=0]
 @t = constant i1 false         ; <i1*> [#uses=0]
+@u = constant i1 srem (i1 true, i1 true)               ; <i1*> [#uses=0]
 
 implementation   ; Functions:
index 3fc4b1a77d7dd4b0123317f61880e340cf41cffb..5c9dc3b1be0d95961b805d316e3a82da16c0143d 100644 (file)
@@ -23,4 +23,5 @@
 @u = constant i15 urem(i15 32767,i15 -1)
 @o = constant i15 trunc( i16 32768  to i15 )
 @p = constant i15 trunc( i16 32767  to i15 )
+@v = constant i15 srem(i15 -1,    i15 768)
  
index 69d3a1a48677576d813a85874ec84a0c555178ed..f900f165dbf3f26e437e0475f16f8306b1539bca 100644 (file)
 @q = constant i15 16381                ; <i15*> [#uses=0]
 @r = constant i15 0            ; <i15*> [#uses=0]
 @s = constant i15 2            ; <i15*> [#uses=0]
-@t = constant i15            ; <i15*> [#uses=0]
+@t = constant i15 -1           ; <i15*> [#uses=0]
 @u = constant i15 0            ; <i15*> [#uses=0]
 @o = constant i15 0            ; <i15*> [#uses=0]
 @p = constant i15 -1           ; <i15*> [#uses=0]
+@v = constant i15 1            ; <i15*> [#uses=0]
 
 implementation   ; Functions:
index 8d7485e90194d8fc3fa6aa4b509878aee5fad021..db03e7c6be0d3fc88dfa2f11efd110a619a09e2e 100644 (file)
@@ -22,3 +22,4 @@
 @t = constant i17 urem(i17 131071,i17 -1)
 @o = constant i17 trunc( i18 131072  to i17 )
 @p = constant i17 trunc( i18 131071  to i17 )
+@v = constant i17 srem(i17  -1,    i17 15)
index 3edb5ac01d33189d23a2273f6cd9efd432c38b9d..de851adab3aa9e48e3fc199aaf73980726f65511 100644 (file)
 @n = constant i17 -2           ; <i17*> [#uses=0]
 @q = constant i17 0            ; <i17*> [#uses=0]
 @r = constant i17 2            ; <i17*> [#uses=0]
-@s = constant i17            ; <i17*> [#uses=0]
+@s = constant i17 -1           ; <i17*> [#uses=0]
 @t = constant i17 0            ; <i17*> [#uses=0]
 @o = constant i17 0            ; <i17*> [#uses=0]
 @p = constant i17 -1           ; <i17*> [#uses=0]
+@v = constant i17 1            ; <i17*> [#uses=0]
 
 implementation   ; Functions:
index 3d18b2a49e88015c9985852b431fa66ee74a08db..c0c571f630680de628b56f86b3a9b02cdf8d21b0 100644 (file)
@@ -18,7 +18,8 @@
 @n = constant i31 mul(i31 2147483647, i31 2)
 @q = constant i31 sdiv(i31 -1,        i31 1073741823)
 @r = constant i31 udiv(i31 -1,        i31 1073741823)
-@s = constant i31 srem(i31  3,        i31 2147483646)
+@s = constant i31 srem(i31  1,        i31 2147483646)
 @t = constant i31 urem(i31 2147483647,i31 -1)
 @o = constant i31 trunc( i32 2147483648  to i31 )
 @p = constant i31 trunc( i32 2147483647  to i31 ) 
+@u = constant i31 srem(i31 -3,        i31 17)
index 243cabf7ed71f4415a8f3be492f63eaf3bae3b67..041525d02d14853476ea7c75214bc11b00af2a44 100644 (file)
 @n = constant i31 -2           ; <i31*> [#uses=0]
 @q = constant i31 0            ; <i31*> [#uses=0]
 @r = constant i31 2            ; <i31*> [#uses=0]
-@s = constant i31            ; <i31*> [#uses=0]
+@s = constant i31 -1           ; <i31*> [#uses=0]
 @t = constant i31 0            ; <i31*> [#uses=0]
 @o = constant i31 0            ; <i31*> [#uses=0]
 @p = constant i31 -1           ; <i31*> [#uses=0]
+@u = constant i31 3            ; <i31*> [#uses=0]
 
 implementation   ; Functions:
index ac9ce7cde9901ae79fcb840a61641c8f7f0fbefb..f328907b4608719287b362daa77563301244c5d2 100644 (file)
@@ -18,8 +18,9 @@
 @n = constant i33 mul(i33 8589934591, i33 2)
 @q = constant i33 sdiv(i33 -1,        i33 4294967295)
 @r = constant i33 udiv(i33 -1,        i33 4294967295)
-@s = constant i33 srem(i33  3,        i33 8589934590)
+@s = constant i33 srem(i33  1,        i33 8589934590)
 @t = constant i33 urem(i33 8589934591,i33 -1)
 @o = constant i33 trunc( i34 8589934592 to i33 )
 @p = constant i33 trunc( i34 8589934591  to i33 )
+@u = constant i33 srem(i33  -1,       i33 17)
  
index a5708acac29c1b8d21a86200917e28b4e5e0611e..ec25d52143065888fa751acdef98cbc7232348b8 100644 (file)
 @n = constant i33 -2           ; <i33*> [#uses=0]
 @q = constant i33 0            ; <i33*> [#uses=0]
 @r = constant i33 2            ; <i33*> [#uses=0]
-@s = constant i33            ; <i33*> [#uses=0]
+@s = constant i33 -1           ; <i33*> [#uses=0]
 @t = constant i33 0            ; <i33*> [#uses=0]
 @o = constant i33 0            ; <i33*> [#uses=0]
 @p = constant i33 -1           ; <i33*> [#uses=0]
+@u = constant i33 1            ; <i33*> [#uses=0]
 
 implementation   ; Functions:
index 1f732200499bf8d7f3a3808fc63349d518372f45..8fd98c7425cc936a70b2aa3d6f06ca4415967f1f 100644 (file)
@@ -13,7 +13,7 @@
 @q = constant i63 0            ; <i63*> [#uses=0]
 @u = constant i63 -1           ; <i63*> [#uses=0]
 @r = constant i63 2            ; <i63*> [#uses=0]
-@s = constant i63            ; <i63*> [#uses=0]
+@s = constant i63 -1           ; <i63*> [#uses=0]
 @t = constant i63 0            ; <i63*> [#uses=0]
 @o = constant i63 0            ; <i63*> [#uses=0]
 @p = constant i63 -1           ; <i63*> [#uses=0]
index 6008372424e219b53395811b6487316f8b28d746..2aae073f4dd6a5e49d3214608a99a27ee349fd05 100644 (file)
@@ -18,7 +18,7 @@
 @u = constant i7 -64           ; <i7*> [#uses=0]
 @v = constant i7 0             ; <i7*> [#uses=0]
 @w = constant i7 2             ; <i7*> [#uses=0]
-@x = constant i7             ; <i7*> [#uses=0]
+@x = constant i7 -1            ; <i7*> [#uses=0]
 @y = constant i7 0             ; <i7*> [#uses=0]
 @o = constant i7 0             ; <i7*> [#uses=0]
 @p = constant i7 -1            ; <i7*> [#uses=0]
index 7d25d4aa90493dce848fba3be405409600edef05..963538b35f1bfc5f5eac3f497d89c557459e2855 100644 (file)
@@ -13,7 +13,7 @@
 @q = constant i9 0             ; <i9*> [#uses=0]
 @r = constant i9 255           ; <i9*> [#uses=0]
 @s = constant i9 0             ; <i9*> [#uses=0]
-@t = constant i9             ; <i9*> [#uses=0]
+@t = constant i9 -1            ; <i9*> [#uses=0]
 @o = constant i9 0             ; <i9*> [#uses=0]
 @p = constant i9 -1            ; <i9*> [#uses=0]