[llvm] [PowerPC] Use rldimi/rlwimi to optimize build_vector (PR #67640)

Qiu Chaofan via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 28 01:06:45 PDT 2023


================
@@ -240,104 +240,36 @@ entry:
 define void @test16(ptr nocapture readonly %sums, i32 signext %delta, i32 signext %thresh) {
 ; P9LE-LABEL: test16:
 ; P9LE:       # %bb.0: # %entry
-; P9LE-NEXT:    sldi 4, 4, 1
-; P9LE-NEXT:    li 7, 16
-; P9LE-NEXT:    add 6, 3, 4
-; P9LE-NEXT:    lxsihzx 4, 3, 4
-; P9LE-NEXT:    addis 3, 2, .LCPI2_0 at toc@ha
-; P9LE-NEXT:    lxsihzx 2, 6, 7
-; P9LE-NEXT:    li 6, 0
-; P9LE-NEXT:    addi 3, 3, .LCPI2_0 at toc@l
-; P9LE-NEXT:    mtvsrd 3, 6
-; P9LE-NEXT:    lxv 0, 0(3)
-; P9LE-NEXT:    li 3, 0
-; P9LE-NEXT:    vmrghh 4, 3, 4
-; P9LE-NEXT:    vmrghh 2, 3, 2
-; P9LE-NEXT:    vsplth 3, 3, 3
-; P9LE-NEXT:    xxmrglw 3, 4, 3
-; P9LE-NEXT:    xxperm 3, 2, 0
-; P9LE-NEXT:    xxspltw 2, 3, 2
-; P9LE-NEXT:    vadduwm 2, 3, 2
-; P9LE-NEXT:    vextuwrx 3, 3, 2
----------------
ecnelises wrote:

Some of these code should be dead. I tried `opt` on it, the loop is gone, and then use current llc, they're removed.

https://github.com/llvm/llvm-project/pull/67640


More information about the llvm-commits mailing list