[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp

Chris Lattner sabre at nondot.org
Mon Dec 4 14:38:36 PST 2006



Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.299 -> 1.300
---
Log message:

Add support for 64-bit 'r' constraint.  Patch by by Rafael ~Avila de EspĂ­ndol!
This fixes PR1029: http://llvm.org/PR1029  and Regression/CodeGen/X86/x86-64-asm.ll


---
Diffs of the changes:  (+5 -0)

 X86ISelLowering.cpp |    5 +++++
 1 files changed, 5 insertions(+)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.299 llvm/lib/Target/X86/X86ISelLowering.cpp:1.300
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.299	Thu Nov 30 15:55:46 2006
+++ llvm/lib/Target/X86/X86ISelLowering.cpp	Mon Dec  4 16:38:21 2006
@@ -5528,6 +5528,11 @@
       break;
     case 'r':   // GENERAL_REGS
     case 'R':   // LEGACY_REGS
+      if (VT == MVT::i64 && Subtarget->is64Bit())
+        return make_vector<unsigned>(X86::RAX, X86::RDX, X86::RCX, X86::RBX,
+                                     X86::RSI, X86::RDI, X86::RBP, X86::RSP,
+                                     X86::R8,  X86::R9,  X86::R10, X86::R11,
+                                     X86::R12, X86::R13, X86::R14, X86::R15, 0);
       if (VT == MVT::i32)
         return make_vector<unsigned>(X86::EAX, X86::EDX, X86::ECX, X86::EBX,
                                      X86::ESI, X86::EDI, X86::EBP, X86::ESP, 0);






More information about the llvm-commits mailing list