Fix another hard-coded constant to use X86AddrNumOperands.
authorDan Gohman <gohman@apple.com>
Mon, 13 Apr 2009 15:04:25 +0000 (15:04 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 13 Apr 2009 15:04:25 +0000 (15:04 +0000)
This unbreaks the JIT on x86-64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68948 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrInfo.cpp

index a47dee3aeeb19c1393fab286b62adc4841397917..77320587cb48e20984d76f82eb401f31c8ad45cb 100644 (file)
@@ -2602,7 +2602,7 @@ unsigned X86InstrInfo::determineREX(const MachineInstr &MI) {
     case X86II::MRM4m: case X86II::MRM5m:
     case X86II::MRM6m: case X86II::MRM7m:
     case X86II::MRMDestMem: {
-      unsigned e = isTwoAddr ? 5 : 4;
+      unsigned e = (isTwoAddr ? X86AddrNumOperands+1 : X86AddrNumOperands);
       i = isTwoAddr ? 1 : 0;
       if (NumOps > e && isX86_64ExtendedReg(MI.getOperand(e)))
         REX |= 1 << 2;