implement support for the 'K' asm constraint, PR4347
authorChris Lattner <sabre@nondot.org>
Mon, 15 Jun 2009 04:01:39 +0000 (04:01 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 15 Jun 2009 04:01:39 +0000 (04:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73366 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index 36e3ab2e82ac7953c343f89c15fd1826e648f547..cb0b30c857ebf2af2bd02e92f84c713992392a52 100644 (file)
@@ -8467,6 +8467,14 @@ void X86TargetLowering::LowerAsmOperandForConstraint(SDValue Op,
     }
     return;
   case 'J':
+    if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) {
+      if ((int8_t)C->getSExtValue() == C->getSExtValue()) {
+        Result = DAG.getTargetConstant(C->getZExtValue(), Op.getValueType());
+        break;
+      }
+    }
+    return;
+  case 'K':
     if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) {
       if (C->getZExtValue() <= 63) {
         Result = DAG.getTargetConstant(C->getZExtValue(), Op.getValueType());