[PATCH] D19825: Power9 - Add exploitation of vector load and store that do not require swaps

Chuang-Yu Cheng via llvm-commits llvm-commits at lists.llvm.org
Thu May 19 20:54:19 PDT 2016


cycheng added inline comments.

================
Comment at: lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp:36
@@ -35,1 +35,3 @@
 
+// Useful for testing purposes. Prints vs{31-63} as v{0-31} respectively.
+static cl::opt<bool>
----------------
It's good to have this option : )

================
Comment at: test/CodeGen/PowerPC/swaps-le-1.ll:105
@@ -101,1 +104,3 @@
+; CHECK-P9-NOT: xxpermdi
+; CHECK-P9-NOT: xxswapd
 
----------------
; CHECK-P9-NOT: xxswapd 

Looks like it has been covered by "-implicit-check-not xxswapd"?
Or this is intentional?

================
Comment at: test/CodeGen/PowerPC/vsx-p9.ll:103
@@ +102,3 @@
+; CHECK: bl sink
+  %16 = load <1 x i128>, <1 x i128>* @uxa, align 16
+  %17 = load <1 x i128>, <1 x i128>* @uxb, align 16
----------------
I'm curious about that we don't add pattern match of i128 type for lxvs in PPCInstrVSX.td, but why it finally gets matched to lxvx?

================
Comment at: test/CodeGen/PowerPC/vsx_shuffle_le.ll:81
@@ +80,3 @@
+
+; CHECK-P9-LABEL: @test10
+; CHECK-P9: lxvx 0, 0, 3
----------------
So looks like use 'lxvd2x' can be more benefit?
If it is true, then, of course we don't have to handle it in current milestone, just a todo in future.


Repository:
  rL LLVM

http://reviews.llvm.org/D19825





More information about the llvm-commits mailing list