Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.399 -> 1.400 --- Log message: fix subtle bugs in inline asm operand selection --- Diffs of the changes: (+4 -3) X86ISelLowering.cpp | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.399 llvm/lib/Target/X86/X86ISelLowering.cpp:1.400 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.399 Thu May 3 11:52:29 2007 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Mon May 14 20:28:08 2007 @@ -4725,18 +4725,19 @@ case 'I': if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) { if (C->getValue() <= 31) - return Op; + return DAG.getTargetConstant(C->getValue(), Op.getValueType()); } return SDOperand(0,0); case 'N': if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) { if (C->getValue() <= 255) - return Op; + return DAG.getTargetConstant(C->getValue(), Op.getValueType()); } return SDOperand(0,0); case 'i': { // Literal immediates are always ok. - if (isa<ConstantSDNode>(Op)) return Op; + if (ConstantSDNode *CST = dyn_cast<ConstantSDNode>(Op)) + return DAG.getTargetConstant(CST->getValue(), Op.getValueType()); // If we are in non-pic codegen mode, we allow the address of a global (with // an optional displacement) to be used with 'i'. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits