PR8053: Fix encoding of S bit in some ARM instructions.
authorBob Wilson <bob.wilson@apple.com>
Thu, 3 Mar 2011 23:07:15 +0000 (23:07 +0000)
committerBob Wilson <bob.wilson@apple.com>
Thu, 3 Mar 2011 23:07:15 +0000 (23:07 +0000)
Patch by Zonr Chang!

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

lib/Target/ARM/ARMCodeEmitter.cpp

index 51d771ec9f2dec81f5ff1c04f5cff1248ae3f064..853f234f8c70997a1b10c870cf1d443927f60ec5 100644 (file)
@@ -976,7 +976,7 @@ unsigned ARMCodeEmitter::getMachineSoImmOpValue(unsigned SoImm) {
 
 unsigned ARMCodeEmitter::getAddrModeSBit(const MachineInstr &MI,
                                          const TargetInstrDesc &TID) const {
-  for (unsigned i = MI.getNumOperands(), e = TID.getNumOperands(); i != e; --i){
+  for (unsigned i = MI.getNumOperands(), e = TID.getNumOperands(); i >= e; --i){
     const MachineOperand &MO = MI.getOperand(i-1);
     if (MO.isReg() && MO.isDef() && MO.getReg() == ARM::CPSR)
       return 1 << ARMII::S_BitShift;