[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp
Andrew Lenharth
alenhar2 at cs.uiuc.edu
Thu Aug 17 09:08:16 PDT 2006
Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.246 -> 1.247
---
Log message:
Add the 'c' constraint as needed by the linux kernel
---
Diffs of the changes: (+7 -2)
X86ISelLowering.cpp | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.246 llvm/lib/Target/X86/X86ISelLowering.cpp:1.247
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.246 Thu Aug 17 10:35:43 2006
+++ llvm/lib/Target/X86/X86ISelLowering.cpp Thu Aug 17 11:07:50 2006
@@ -4186,6 +4186,7 @@
case 'Y':
case 'S':
case 'D':
+ case 'c':
return C_RegisterClass;
default: return TargetLowering::getConstraintType(ConstraintLetter);
}
@@ -4201,11 +4202,15 @@
default: break; // Unknown constraint letter
case 'S': // ESI
if (VT == MVT::i32)
- return make_vector<unsigned>(X86::ESI,0);
+ return make_vector<unsigned>(X86::ESI,0);
break;
case 'D': // EDI
if (VT == MVT::i32)
- return make_vector<unsigned>(X86::EDI,0);
+ return make_vector<unsigned>(X86::EDI,0);
+ break;
+ case 'c': // ECX
+ if (VT == MVT::i32)
+ return make_vector<unsigned>(X86::ECX, 0);
break;
case 'A': // EAX/EDX
if (VT == MVT::i32 || VT == MVT::i64)
More information about the llvm-commits
mailing list