diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-11-30 00:00:35 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-11-30 00:00:35 +0000 |
commit | 431ac4ef504f06676971ed86b33e5bf98e935666 (patch) | |
tree | 0291e63bf7bb4b992f1a122840695735544dd539 /llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | |
parent | a9940700400cfcb28eda9b4eee28cd99e94b3e3a (diff) | |
download | bcm5719-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.cpp | 6 |
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(); |