summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-11-30 00:00:35 +0000
committerBob Wilson <bob.wilson@apple.com>2010-11-30 00:00:35 +0000
commit431ac4ef504f06676971ed86b33e5bf98e935666 (patch)
tree0291e63bf7bb4b992f1a122840695735544dd539 /llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
parenta9940700400cfcb28eda9b4eee28cd99e94b3e3a (diff)
downloadbcm5719-llvm-431ac4ef504f06676971ed86b33e5bf98e935666.tar.gz
bcm5719-llvm-431ac4ef504f06676971ed86b33e5bf98e935666.zip
Add support for NEON VLD3-dup instructions.
The encoding for alignment in VLD4-dup instructions is still a work in progress. llvm-svn: 120356
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
index a3b86cb9dbd..96bdf482d98 100644
--- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
@@ -2367,6 +2367,12 @@ SDNode *ARMDAGToDAGISel::Select(SDNode *N) {
return SelectVLDDup(N, 3, Opcodes);
}
+ case ARMISD::VLD4DUP: {
+ unsigned Opcodes[] = { ARM::VLD4DUPd8Pseudo, ARM::VLD4DUPd16Pseudo,
+ ARM::VLD4DUPd32Pseudo };
+ return SelectVLDDup(N, 4, Opcodes);
+ }
+
case ISD::INTRINSIC_VOID:
case ISD::INTRINSIC_W_CHAIN: {
unsigned IntNo = cast<ConstantSDNode>(N->getOperand(1))->getZExtValue();
OpenPOWER on IntegriCloud