summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/InstCombine/xor.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/xor.ll b/llvm/test/Transforms/InstCombine/xor.ll
index 16757711427..a26a089be62 100644
--- a/llvm/test/Transforms/InstCombine/xor.ll
+++ b/llvm/test/Transforms/InstCombine/xor.ll
@@ -383,6 +383,16 @@ define i32 @test28(i32 %indvar) {
ret i32 %t214
}
+define <2 x i32> @test28vec(<2 x i32> %indvar) {
+; CHECK-LABEL: @test28vec(
+; CHECK-NEXT: [[T214:%.*]] = add <2 x i32> [[INDVAR:%.*]], <i32 1, i32 1>
+; CHECK-NEXT: ret <2 x i32> [[T214]]
+;
+ %t7 = add <2 x i32> %indvar, <i32 -2147483647, i32 -2147483647>
+ %t214 = xor <2 x i32> %t7, <i32 -2147483648, i32 -2147483648>
+ ret <2 x i32> %t214
+}
+
define i32 @test28_sub(i32 %indvar) {
; CHECK-LABEL: @test28_sub(
; CHECK-NEXT: [[T214:%.*]] = sub i32 1, [[INDVAR:%.*]]
@@ -393,6 +403,16 @@ define i32 @test28_sub(i32 %indvar) {
ret i32 %t214
}
+define <2 x i32> @test28_subvec(<2 x i32> %indvar) {
+; CHECK-LABEL: @test28_subvec(
+; CHECK-NEXT: [[T214:%.*]] = sub <2 x i32> <i32 1, i32 1>, [[INDVAR:%.*]]
+; CHECK-NEXT: ret <2 x i32> [[T214]]
+;
+ %t7 = sub <2 x i32> <i32 -2147483647, i32 -2147483647>, %indvar
+ %t214 = xor <2 x i32> %t7, <i32 -2147483648, i32 -2147483648>
+ ret <2 x i32> %t214
+}
+
define i32 @test29(i1 %C) {
; CHECK-LABEL: @test29(
; CHECK-NEXT: [[V:%.*]] = select i1 [[C:%.*]], i32 915, i32 113
OpenPOWER on IntegriCloud