From: Evan Cheng Date: Sat, 15 May 2010 02:20:21 +0000 (+0000) Subject: v4i64 and v8i64 are only synthesizable when NEON is available. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4782b1e2caf0030eab1112c12dd4a2ffca688ecd;p=oota-llvm.git 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 --- diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index 9db641172d7..49dd9514b52 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); }