[PATCH] D104855: [PowerPC] Change VSRpRC allocation order

ChenZheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 24 19:02:12 PDT 2021


shchenz added inline comments.


================
Comment at: llvm/test/CodeGen/PowerPC/mma-intrinsics.ll:27
 ; CHECK-BE:       # %bb.0: # %entry
-; CHECK-BE-NEXT:    xxlor vs1, v2, v2
-; CHECK-BE-NEXT:    xxlor vs0, vs1, vs1
-; CHECK-BE-NEXT:    xxlor vs4, vs0, vs0
-; CHECK-BE-NEXT:    xxlor vs5, vs1, vs1
-; CHECK-BE-NEXT:    xxlor vs6, vs0, vs0
-; CHECK-BE-NEXT:    xxlor vs7, vs1, vs1
-; CHECK-BE-NEXT:    xxlor vs0, vs4, vs4
-; CHECK-BE-NEXT:    xxlor vs1, vs5, vs5
-; CHECK-BE-NEXT:    xxlor vs2, vs6, vs6
-; CHECK-BE-NEXT:    xxlor vs3, vs7, vs7
+; CHECK-BE-NEXT:    vmr v3, v2
+; CHECK-BE-NEXT:    xxlor vs0, v2, v2
----------------
Why need to copy to `v3`? I think we can also use `v2` for follow 4 `xxlor`?


================
Comment at: llvm/test/CodeGen/PowerPC/mma-outer-product.ll:81
+; CHECK-NEXT:    xxlor vs0, v2, v2
+; CHECK-NEXT:    vmr v1, v2
+; CHECK-NEXT:    xxlor vs1, v3, v3
----------------
nemanjai wrote:
> Any idea why this sticks around? This and line 85 seem to be dead copies. Similar artifacts appear in other tests.
+1, there are some unnecessary `vmr` after this change. Maybe we need to have a look at why. Before the change, there are no such vector copies.


================
Comment at: llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll:23
 ; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    xxlor vs1, v2, v2
-; CHECK-NEXT:    xxlor vs0, vs1, vs1
-; CHECK-NEXT:    stxv vs1, 16(r3)
-; CHECK-NEXT:    stxv vs1, 0(r3)
+; CHECK-NEXT:    vmr v3, v2
+; CHECK-NEXT:    stxv v2, 16(r3)
----------------
unnecessary `vmr`?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104855/new/

https://reviews.llvm.org/D104855



More information about the llvm-commits mailing list