[llvm-commits] [llvm] r78884 - /llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
Bob Wilson
bob.wilson at apple.com
Wed Aug 12 19:13:04 PDT 2009
Author: bwilson
Date: Wed Aug 12 21:13:04 2009
New Revision: 78884
URL: http://llvm.org/viewvc/llvm-project?rev=78884&view=rev
Log:
Add a comment to describe why vector shuffles are legalized to custom DAG nodes.
Modified:
llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=78884&r1=78883&r2=78884&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Wed Aug 12 21:13:04 2009
@@ -2439,6 +2439,10 @@
DebugLoc dl = Op.getDebugLoc();
EVT VT = Op.getValueType();
+ // Convert shuffles that are directly supported on NEON to target-specific
+ // DAG nodes, instead of keeping them as shuffles and matching them again
+ // during code selection. This is more efficient and avoids the possibility
+ // of inconsistencies between legalization and selection.
if (SVN->isSplat() && SVN->getSplatIndex() == 0)
return DAG.getNode(ARMISD::VSPLAT0, dl, VT, SVN->getOperand(0));
if (isVREVMask(SVN, 64))
More information about the llvm-commits
mailing list