[llvm-commits] [llvm] r103855 - /llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp

Evan Cheng evan.cheng at apple.com
Fri May 14 19:20:22 PDT 2010


Author: evancheng
Date: Fri May 14 21:20:21 2010
New Revision: 103855

URL: http://llvm.org/viewvc/llvm-project?rev=103855&view=rev
Log:
v4i64 and v8i64 are only synthesizable when NEON is available.

Modified:
    llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=103855&r1=103854&r2=103855&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Fri May 14 21:20:21 2010
@@ -585,10 +585,12 @@
   // 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);
 }
 





More information about the llvm-commits mailing list