[PATCH] D15887: [Power9] Implement new vector permute, count zero instructions

Nemanja Ivanovic via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 11 02:28:32 PST 2016


nemanjai added a subscriber: nemanjai.

================
Comment at: lib/Target/PowerPC/PPCInstrAltivec.td:1217
@@ +1216,3 @@
+
+def HasP9Altivec : Predicate<"PPCSubTarget->hasP9Altivec()">;
+let Predicates = [HasP9Altivec] in {
----------------
Since P9 has fewer optional features, do we need P9Altivec, P9Vector, etc.? Or perhaps we would like a single predicate and a single feature that will give us everything? I suppose that AES and DFP are still optional, but any additions therein can use the P9 predicate along with the respective predicate.

================
Comment at: lib/Target/PowerPC/PPCInstrAltivec.td:1220
@@ +1219,3 @@
+
+def VBPERMD : VX1_Int_Ty<1484, "vbpermd", int_ppc_altivec_vbpermd, v2i64>;
+
----------------
Should we have a test that @llvm.ppc.altivec.vbpermd emits the correct instruction? I suppose we can't really do that at this time unless we have the target feature implemented (see comment below).

================
Comment at: lib/Target/PowerPC/PPCSubtarget.h:95
@@ -94,2 +94,3 @@
   bool HasP8Crypto;
+  bool HasP9Altivec;
   bool HasFCPSGN;
----------------
Was the implementation of this feature in PPC.td intentionally omitted? Is the plan to implement setting this feature using -mattr at a later time?


http://reviews.llvm.org/D15887





More information about the llvm-commits mailing list