Fix FP elimination code to work for Thumb-2 addrmode AddrModeT2_so. This fixes SingleSource/Benchmarks/Stanford/Queens (among others).

llvm-svn: 75513
This commit is contained in:
David Goodwin 2009-07-13 21:43:08 +00:00
parent bf25a209dc
commit 160521095b
1 changed files with 7 additions and 3 deletions

View File

@ -1121,18 +1121,22 @@ eliminateFrameIndex(MachineBasicBlock::iterator II,
break; break;
} }
case ARMII::AddrModeT2_i12: { case ARMII::AddrModeT2_i12: {
ImmIdx = i+2; ImmIdx = i+1;
InstrOffs = MI.getOperand(ImmIdx).getImm(); InstrOffs = MI.getOperand(ImmIdx).getImm();
NumBits = 12; NumBits = 12;
break; break;
} }
case ARMII::AddrModeT2_so:
case ARMII::AddrModeT2_i8: { case ARMII::AddrModeT2_i8: {
ImmIdx = i+2; ImmIdx = i+1;
InstrOffs = MI.getOperand(ImmIdx).getImm(); InstrOffs = MI.getOperand(ImmIdx).getImm();
NumBits = 8; NumBits = 8;
break; break;
} }
case ARMII::AddrModeT2_so: {
ImmIdx = i+2;
InstrOffs = MI.getOperand(ImmIdx).getImm();
break;
}
default: default:
LLVM_UNREACHABLE("Unsupported addressing mode!"); LLVM_UNREACHABLE("Unsupported addressing mode!");
break; break;