InstCombine: Add a vector variant test for PR20186
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 2 Jul 2014 06:14:13 +0000 (06:14 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 2 Jul 2014 06:14:13 +0000 (06:14 +0000)
No functional change, just adding more test coverage that was meant to
go in with r212164.

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

test/Transforms/InstCombine/sub.ll

index a9dffe793a1f0ffbbc0e312a3e10e4c15fec78e4..5ff0ed5b40c1211c1bef29c728722964a853e776 100644 (file)
@@ -445,13 +445,14 @@ define <2 x i64> @test36(<2 x i64> %A) {
 ; CHECK-NEXT: ret <2 x i64> %sub
 }
 
-define <2 x i64> @test37(<2 x i64> %A) {
-  %shl = shl <2 x i64> %A, <i64 3, i64 4>
-  %sub = sub <2 x i64> %shl, %A
-  ret <2 x i64> %sub
+define <2 x i32> @test37(<2 x i32> %A) {
+  %div = sdiv <2 x i32> %A, <i32 -2147483648, i32 -2147483648>
+  %sub = sub nsw <2 x i32> zeroinitializer, %div
+  ret <2 x i32> %sub
 ; CHECK-LABEL: @test37(
-; CHECK-NEXT: %sub = mul <2 x i64> %A, <i64 7, i64 15>
-; CHECK-NEXT: ret <2 x i64> %sub
+; CHECK-NEXT: [[DIV:%.*]] = sdiv <2 x i32> %A, <i32 -2147483648, i32 -2147483648>
+; CHECK-NEXT: [[SUB:%.*]] = sub nsw <2 x i32> zeroinitializer, %div
+; CHECK-NEXT: ret <2 x i32> [[SUB]]
 }
 
 define i32 @test38(i32 %A) {