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

Reply via email to