aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-08-26 18:51:29 +0000
committerBob Wilson <bob.wilson@apple.com>2010-08-26 18:51:29 +0000
commit3e22f9cee290c1c1e74a762b6892b17f55200aef (patch)
tree47b398b2df293c8b4be61919e9ae196c026982ac /lib/Target/ARM/ARMISelDAGToDAG.cpp
parent74e08708274a5e2580a784f6ce34e1a554725af9 (diff)
downloadexternal_llvm-3e22f9cee290c1c1e74a762b6892b17f55200aef.zip
external_llvm-3e22f9cee290c1c1e74a762b6892b17f55200aef.tar.gz
external_llvm-3e22f9cee290c1c1e74a762b6892b17f55200aef.tar.bz2
Use pseudo instructions for VST3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112208 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMISelDAGToDAG.cpp')
-rw-r--r--lib/Target/ARM/ARMISelDAGToDAG.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/Target/ARM/ARMISelDAGToDAG.cpp b/lib/Target/ARM/ARMISelDAGToDAG.cpp
index 3619084..6ba13a7 100644
--- a/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/lib/Target/ARM/ARMISelDAGToDAG.cpp
@@ -1262,7 +1262,7 @@ SDNode *ARMDAGToDAGISel::SelectVST(SDNode *N, unsigned NumVecs,
// FIXME: This is a temporary flag to distinguish VSTs that have been
// converted to pseudo instructions.
- bool usePseudoInstrs = (NumVecs == 4);
+ bool usePseudoInstrs = (NumVecs >= 3);
if (is64BitVector) {
if (NumVecs >= 2) {
@@ -2317,14 +2317,14 @@ SDNode *ARMDAGToDAGISel::Select(SDNode *N) {
}
case Intrinsic::arm_neon_vst3: {
- unsigned DOpcodes[] = { ARM::VST3d8, ARM::VST3d16,
- ARM::VST3d32, ARM::VST1d64T };
- unsigned QOpcodes0[] = { ARM::VST3q8_UPD,
- ARM::VST3q16_UPD,
- ARM::VST3q32_UPD };
- unsigned QOpcodes1[] = { ARM::VST3q8odd_UPD,
- ARM::VST3q16odd_UPD,
- ARM::VST3q32odd_UPD };
+ unsigned DOpcodes[] = { ARM::VST3d8Pseudo, ARM::VST3d16Pseudo,
+ ARM::VST3d32Pseudo, ARM::VST1d64TPseudo };
+ unsigned QOpcodes0[] = { ARM::VST3q8Pseudo_UPD,
+ ARM::VST3q16Pseudo_UPD,
+ ARM::VST3q32Pseudo_UPD };
+ unsigned QOpcodes1[] = { ARM::VST3q8oddPseudo_UPD,
+ ARM::VST3q16oddPseudo_UPD,
+ ARM::VST3q32oddPseudo_UPD };
return SelectVST(N, 3, DOpcodes, QOpcodes0, QOpcodes1);
}