diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-05-15 02:20:21 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-05-15 02:20:21 +0000 |
commit | 4782b1e2caf0030eab1112c12dd4a2ffca688ecd (patch) | |
tree | 12ca5bb712666eb81dd7aeb9a4860fa5aaae5a3d /lib | |
parent | 06b666c7056376b8aaf40be0dc00b97b2cfceb6c (diff) |
v4i64 and v8i64 are only synthesizable when NEON is available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103855 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMISelLowering.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index 9db641172d..49dd9514b5 100644 --- a/lib/Target/ARM/ARMISelLowering.cpp +++ b/lib/Target/ARM/ARMISelLowering.cpp @@ -585,10 +585,12 @@ TargetRegisterClass *ARMTargetLowering::getRegClassFor(EVT VT) const { // Map v4i64 to QQ registers but do not make the type legal. Similarly map // v8i64 to QQQQ registers. v4i64 and v8i64 are only used for REG_SEQUENCE to // load / store 4 to 8 consecutive D registers. - if (VT == MVT::v4i64) - return ARM::QQPRRegisterClass; - else if (VT == MVT::v8i64) - return ARM::QQQQPRRegisterClass; + if (Subtarget->hasNEON()) { + if (VT == MVT::v4i64) + return ARM::QQPRRegisterClass; + else if (VT == MVT::v8i64) + return ARM::QQQQPRRegisterClass; + } return TargetLowering::getRegClassFor(VT); } |