Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.245 -> 1.246 --- Log message: Add support for S and D constraints, as needed to compile the linux kernel. --- Diffs of the changes: (+10 -0) X86ISelLowering.cpp | 10 ++++++++++ 1 files changed, 10 insertions(+) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.245 llvm/lib/Target/X86/X86ISelLowering.cpp:1.246 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.245 Fri Aug 11 12:38:39 2006 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Thu Aug 17 10:35:43 2006 @@ -4184,6 +4184,8 @@ case 'Q': case 'x': case 'Y': + case 'S': + case 'D': return C_RegisterClass; default: return TargetLowering::getConstraintType(ConstraintLetter); } @@ -4197,6 +4199,14 @@ // FIXME: not handling MMX registers yet ('y' constraint). switch (Constraint[0]) { // GCC X86 Constraint Letters default: break; // Unknown constraint letter + case 'S': // ESI + if (VT == MVT::i32) + return make_vector<unsigned>(X86::ESI,0); + break; + case 'D': // EDI + if (VT == MVT::i32) + return make_vector<unsigned>(X86::EDI,0); + break; case 'A': // EAX/EDX if (VT == MVT::i32 || VT == MVT::i64) return make_vector<unsigned>(X86::EAX, X86::EDX, 0); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits