aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMISelLowering.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-05-10 17:34:18 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-05-10 17:34:18 +0000
commit603afbfe2ac8ccc21283b149a76a81eb44b956b0 (patch)
tree9313bdaedf33b3d1ae2ec138b171424fc48a9571 /lib/Target/ARM/ARMISelLowering.cpp
parent623d3c10e12a4227926e5b69947f7f0fa7e1908a (diff)
Model vld2 / vst2 with reg_sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103411 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r--lib/Target/ARM/ARMISelLowering.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp
index d8582ecf05..7a637b6699 100644
--- a/lib/Target/ARM/ARMISelLowering.cpp
+++ b/lib/Target/ARM/ARMISelLowering.cpp
@@ -266,6 +266,11 @@ ARMTargetLowering::ARMTargetLowering(TargetMachine &TM)
addQRTypeForNEON(MVT::v4i32);
addQRTypeForNEON(MVT::v2i64);
+ // Map v4i64 to QQ registers but do not make the type legal for any
+ // operations. v4i64 is only used for REG_SEQUENCE to load / store quad
+ // D registers.
+ addRegisterClass(MVT::v4i64, ARM::QQPRRegisterClass);
+
// v2f64 is legal so that QR subregs can be extracted as f64 elements, but
// neither Neon nor VFP support any arithmetic operations on it.
setOperationAction(ISD::FADD, MVT::v2f64, Expand);