[PATCH] Add VSX Scalar loads and stores to the PPC back end

Bill Schmidt wschmidt at linux.vnet.ibm.com
Mon May 4 07:21:09 PDT 2015


In general this looks very good.  Just a few inline comments from me.  I haven't added a register class myself, so you may want a thumbs-up from someone with that experience, but I can't think offhand of anything you might have missed.


REPOSITORY
  rL LLVM

================
Comment at: lib/Target/PowerPC/PPCInstrVSX.td:1033
@@ -972,3 +1032,3 @@
 
-let Predicates = [HasDirectMove, HasVSX] in {
+let Predicates = [HasVSX] in {
 // VSX direct move instructions
----------------
nemanjai wrote:
> This was removed in response to a comment to the commit for the "direct moves" patch. The requirement is redundant since the DAG nodes only come from the custom lowering code and that code is guarded for direct moves.
This is a harmless redundancy and to me it seems worthwhile to leave in place.  Code gets re-designed, and it may not be a redundant requirement in the future.

================
Comment at: lib/Target/PowerPC/PPCRegisterInfo.cpp:305
@@ -303,1 +304,3 @@
+    else if (RC == &PPC::F4RCRegClass && Subtarget.hasP8Vector())
+      return &PPC::VSSRCRegClass;
   }
----------------
&& Subtarget.hasVSX()  ?

================
Comment at: test/CodeGen/PowerPC/ppc64le-smallarg.ll:47
@@ -46,2 +46,3 @@
+; CHECK: lxsspx {{[0-9]+}}, {{[0-9]+}}, [[TOCREG]]
 ; CHECK: blr
 
----------------
You don't have a run line specifying -mcpu, so this is potentially fragile.

http://reviews.llvm.org/D9440

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






More information about the llvm-commits mailing list