[llvm] [PowerPC] Fix vector_shuffle combines when inputs are scalar_to_vector of differing types. (PR #80784)
zhijian lin via llvm-commits
llvm-commits at lists.llvm.org
Mon May 6 13:07:13 PDT 2024
================
@@ -266,56 +266,54 @@ entry:
define <16 x i8> @test_v16i8_v8i16(i16 %arg, i8 %arg1) {
; CHECK-LE-P8-LABEL: test_v16i8_v8i16:
; CHECK-LE-P8: # %bb.0: # %entry
-; CHECK-LE-P8-NEXT: mtfprd f0, r4
-; CHECK-LE-P8-NEXT: xxswapd v2, vs0
-; CHECK-LE-P8-NEXT: mtfprd f0, r3
-; CHECK-LE-P8-NEXT: xxswapd v3, vs0
-; CHECK-LE-P8-NEXT: vmrglh v2, v3, v2
+; CHECK-LE-P8-NEXT: mtvsrd v2, r4
+; CHECK-LE-P8-NEXT: mtvsrd v3, r3
+; CHECK-LE-P8-NEXT: vmrghh v2, v3, v2
; CHECK-LE-P8-NEXT: blr
;
; CHECK-LE-P9-LABEL: test_v16i8_v8i16:
; CHECK-LE-P9: # %bb.0: # %entry
-; CHECK-LE-P9-NEXT: mtfprd f0, r4
-; CHECK-LE-P9-NEXT: xxswapd v2, vs0
-; CHECK-LE-P9-NEXT: mtfprd f0, r3
-; CHECK-LE-P9-NEXT: xxswapd v3, vs0
-; CHECK-LE-P9-NEXT: vmrglh v2, v3, v2
+; CHECK-LE-P9-NEXT: mtvsrd v2, r4
+; CHECK-LE-P9-NEXT: mtvsrd v3, r3
+; CHECK-LE-P9-NEXT: vmrghh v2, v3, v2
; CHECK-LE-P9-NEXT: blr
;
; CHECK-BE-P8-LABEL: test_v16i8_v8i16:
; CHECK-BE-P8: # %bb.0: # %entry
-; CHECK-BE-P8-NEXT: sldi r4, r4, 56
-; CHECK-BE-P8-NEXT: sldi r3, r3, 48
-; CHECK-BE-P8-NEXT: mtvsrd v2, r4
-; CHECK-BE-P8-NEXT: mtvsrd v3, r3
-; CHECK-BE-P8-NEXT: vmrghh v2, v2, v3
+; CHECK-BE-P8-NEXT: mtvsrwz v3, r3
+; CHECK-BE-P8-NEXT: addis r3, r2, .LCPI3_0 at toc@ha
----------------
diggerlin wrote:
I am curious . there is no read data from TC entry, but the right has the read data from TC entry, but the PR look not related to TC entry ?
https://github.com/llvm/llvm-project/pull/80784
More information about the llvm-commits
mailing list