diff options
author | Chris Lattner <sabre@nondot.org> | 2006-12-04 22:38:21 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-12-04 22:38:21 +0000 |
commit | 98ae09ca5dba69cd9e5933ceea27d08b901907c6 (patch) | |
tree | 7226d1c8b8ee82f8b2de16fd8fca96618490e2aa | |
parent | f34208b8b1dd88304e515f539a6b190a84d0a122 (diff) |
Add support for 64-bit 'r' constraint. Patch by by Rafael ~Avila de EspÃndol!
This fixes PR1029 and Regression/CodeGen/X86/x86-64-asm.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32206 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 375777a329..9358c8b3d4 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -5528,6 +5528,11 @@ getRegClassForInlineAsmConstraint(const std::string &Constraint, 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); |