diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-11-29 19:35:29 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-11-29 19:35:29 +0000 |
commit | 86c6d80a7a20fa7decc3e914be5d1cb0f7f29a6f (patch) | |
tree | 9d85c8191632263c1c448250a23b7b5c4553cd04 /lib/Target/ARM/ARMISelDAGToDAG.cpp | |
parent | 2fcda63763ef010c57f6e7f250868e355075f6cf (diff) |
Add support for NEON VLD3-dup instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120312 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMISelDAGToDAG.cpp')
-rw-r--r-- | lib/Target/ARM/ARMISelDAGToDAG.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMISelDAGToDAG.cpp b/lib/Target/ARM/ARMISelDAGToDAG.cpp index b9fbdc58a1..a3b86cb9db 100644 --- a/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/lib/Target/ARM/ARMISelDAGToDAG.cpp @@ -2361,6 +2361,12 @@ SDNode *ARMDAGToDAGISel::Select(SDNode *N) { return SelectVLDDup(N, 2, Opcodes); } + case ARMISD::VLD3DUP: { + unsigned Opcodes[] = { ARM::VLD3DUPd8Pseudo, ARM::VLD3DUPd16Pseudo, + ARM::VLD3DUPd32Pseudo }; + return SelectVLDDup(N, 3, Opcodes); + } + case ISD::INTRINSIC_VOID: case ISD::INTRINSIC_W_CHAIN: { unsigned IntNo = cast<ConstantSDNode>(N->getOperand(1))->getZExtValue(); |