summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/bitcast-bigendian.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/InstCombine/bitcast-bigendian.ll')
-rw-r--r--llvm/test/Transforms/InstCombine/bitcast-bigendian.ll14
1 files changed, 6 insertions, 8 deletions
diff --git a/llvm/test/Transforms/InstCombine/bitcast-bigendian.ll b/llvm/test/Transforms/InstCombine/bitcast-bigendian.ll
index 4042dad86d1..f558ecc0b60 100644
--- a/llvm/test/Transforms/InstCombine/bitcast-bigendian.ll
+++ b/llvm/test/Transforms/InstCombine/bitcast-bigendian.ll
@@ -90,8 +90,6 @@ define <2 x float> @test6(float %A){
; CHECK: ret
}
-; FIXME: Do the logic in the original type for the following 3 tests.
-
; Verify that 'xor' of vector and constant is done as a vector bitwise op before the bitcast.
define <2 x i32> @xor_bitcast_vec_to_vec(<1 x i64> %a) {
@@ -100,8 +98,8 @@ define <2 x i32> @xor_bitcast_vec_to_vec(<1 x i64> %a) {
ret <2 x i32> %t2
; CHECK-LABEL: @xor_bitcast_vec_to_vec(
-; CHECK-NEXT: %t1 = bitcast <1 x i64> %a to <2 x i32>
-; CHECK-NEXT: %t2 = xor <2 x i32> %t1, <i32 1, i32 2>
+; CHECK-NEXT: %t21 = xor <1 x i64> %a, <i64 4294967298>
+; CHECK-NEXT: %t2 = bitcast <1 x i64> %t21 to <2 x i32>
; CHECK-NEXT: ret <2 x i32> %t2
}
@@ -113,8 +111,8 @@ define i64 @and_bitcast_vec_to_int(<2 x i32> %a) {
ret i64 %t2
; CHECK-LABEL: @and_bitcast_vec_to_int(
-; CHECK-NEXT: %t1 = bitcast <2 x i32> %a to i64
-; CHECK-NEXT: %t2 = and i64 %t1, 3
+; CHECK-NEXT: %t21 = and <2 x i32> %a, <i32 0, i32 3>
+; CHECK-NEXT: %t2 = bitcast <2 x i32> %t21 to i64
; CHECK-NEXT: ret i64 %t2
}
@@ -126,8 +124,8 @@ define <2 x i32> @or_bitcast_int_to_vec(i64 %a) {
ret <2 x i32> %t2
; CHECK-LABEL: @or_bitcast_int_to_vec(
-; CHECK-NEXT: %t1 = bitcast i64 %a to <2 x i32>
-; CHECK-NEXT: %t2 = or <2 x i32> %t1, <i32 1, i32 2>
+; CHECK-NEXT: %t21 = or i64 %a, 4294967298
+; CHECK-NEXT: %t2 = bitcast i64 %t21 to <2 x i32>
; CHECK-NEXT: ret <2 x i32> %t2
}
OpenPOWER on IntegriCloud