[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