diff options
Diffstat (limited to 'llvm/test/Transforms/InstCombine/cast.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/cast.ll | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/llvm/test/Transforms/InstCombine/cast.ll b/llvm/test/Transforms/InstCombine/cast.ll index 66eb3904ebb..d85286b4602 100644 --- a/llvm/test/Transforms/InstCombine/cast.ll +++ b/llvm/test/Transforms/InstCombine/cast.ll @@ -823,9 +823,13 @@ define i64 @test59(i8 %A, i8 %B) { } define <3 x i32> @test60(<4 x i32> %call4) { -; ALL-LABEL: @test60( -; ALL-NEXT: [[P10:%.*]] = shufflevector <4 x i32> [[CALL4:%.*]], <4 x i32> undef, <3 x i32> <i32 0, i32 1, i32 2> -; ALL-NEXT: ret <3 x i32> [[P10]] +; BE-LABEL: @test60( +; BE-NEXT: [[P10:%.*]] = shufflevector <4 x i32> [[CALL4:%.*]], <4 x i32> undef, <3 x i32> <i32 1, i32 2, i32 3> +; BE-NEXT: ret <3 x i32> [[P10]] +; +; LE-LABEL: @test60( +; LE-NEXT: [[P10:%.*]] = shufflevector <4 x i32> [[CALL4:%.*]], <4 x i32> undef, <3 x i32> <i32 0, i32 1, i32 2> +; LE-NEXT: ret <3 x i32> [[P10]] ; %p11 = bitcast <4 x i32> %call4 to i128 %p9 = trunc i128 %p11 to i96 @@ -835,9 +839,13 @@ define <3 x i32> @test60(<4 x i32> %call4) { } define <4 x i32> @test61(<3 x i32> %call4) { -; ALL-LABEL: @test61( -; ALL-NEXT: [[P10:%.*]] = shufflevector <3 x i32> [[CALL4:%.*]], <3 x i32> <i32 0, i32 undef, i32 undef>, <4 x i32> <i32 0, i32 1, i32 2, i32 3> -; ALL-NEXT: ret <4 x i32> [[P10]] +; BE-LABEL: @test61( +; BE-NEXT: [[P10:%.*]] = shufflevector <3 x i32> [[CALL4:%.*]], <3 x i32> <i32 0, i32 undef, i32 undef>, <4 x i32> <i32 3, i32 0, i32 1, i32 2> +; BE-NEXT: ret <4 x i32> [[P10]] +; +; LE-LABEL: @test61( +; LE-NEXT: [[P10:%.*]] = shufflevector <3 x i32> [[CALL4:%.*]], <3 x i32> <i32 0, i32 undef, i32 undef>, <4 x i32> <i32 0, i32 1, i32 2, i32 3> +; LE-NEXT: ret <4 x i32> [[P10]] ; %p11 = bitcast <3 x i32> %call4 to i96 %p9 = zext i96 %p11 to i128 @@ -846,10 +854,15 @@ define <4 x i32> @test61(<3 x i32> %call4) { } define <4 x i32> @test62(<3 x float> %call4) { -; ALL-LABEL: @test62( -; ALL-NEXT: [[TMP1:%.*]] = bitcast <3 x float> [[CALL4:%.*]] to <3 x i32> -; ALL-NEXT: [[P10:%.*]] = shufflevector <3 x i32> [[TMP1]], <3 x i32> <i32 0, i32 undef, i32 undef>, <4 x i32> <i32 0, i32 1, i32 2, i32 3> -; ALL-NEXT: ret <4 x i32> [[P10]] +; BE-LABEL: @test62( +; BE-NEXT: [[TMP1:%.*]] = bitcast <3 x float> [[CALL4:%.*]] to <3 x i32> +; BE-NEXT: [[P10:%.*]] = shufflevector <3 x i32> [[TMP1]], <3 x i32> <i32 0, i32 undef, i32 undef>, <4 x i32> <i32 3, i32 0, i32 1, i32 2> +; BE-NEXT: ret <4 x i32> [[P10]] +; +; LE-LABEL: @test62( +; LE-NEXT: [[TMP1:%.*]] = bitcast <3 x float> [[CALL4:%.*]] to <3 x i32> +; LE-NEXT: [[P10:%.*]] = shufflevector <3 x i32> [[TMP1]], <3 x i32> <i32 0, i32 undef, i32 undef>, <4 x i32> <i32 0, i32 1, i32 2, i32 3> +; LE-NEXT: ret <4 x i32> [[P10]] ; %p11 = bitcast <3 x float> %call4 to i96 %p9 = zext i96 %p11 to i128 |