[PATCH] [PPC64LE] Remove unnecessary swaps from lane-insensitive vector computations

hfinkel at anl.gov hfinkel at anl.gov
Thu Apr 16 14:07:47 PDT 2015


REPOSITORY
  rL LLVM

================
Comment at: lib/Target/PowerPC/PPC.td:196
@@ +195,3 @@
+// KillVSXSwapRem - Filter class used to identify instructions that kill the
+// VSX swap removal optimization.
+class KillVSXSwapRem {
----------------
It would be nice to keep this as an intrinsic instruction property. Something that means that the instruction operates on all vector lanes independently. Then special cases that are handled in the code can be handled there without involving the instruction definitions.


================
Comment at: lib/Target/PowerPC/PPCInstrAltivec.td:381
@@ -372,2 +380,3 @@
 
+let BaseName = "LVSL", SwapFlag = 1 in
 def LVSL : XForm_1<31,   6, (outs vrrc:$vD), (ins memrr:$src),
----------------
Why are you setting SwapFlag to 1 only to set it to 0? You can add the flag to the base instruction class if it just needs to be defined first.

http://reviews.llvm.org/D8565

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list