Put the PC encoding in the correct bit position.
authorBill Wendling <isanbard@gmail.com>
Wed, 3 Nov 2010 04:57:44 +0000 (04:57 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 3 Nov 2010 04:57:44 +0000 (04:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118151 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMMCCodeEmitter.cpp

index fcdc02e677b7b85f2e5b7045f42c5d12159f7812..62ec8bf5cf0dc72c69d7ffb24d65ca071a75d5a7 100644 (file)
@@ -240,7 +240,7 @@ uint32_t ARMMCCodeEmitter::getAddrMode5OpValue(const MCInst &MI,
   EncodeAddrModeOpValues(MI, OpIdx, Reg, Imm8);
 
   if (Reg == ARM::PC)
-    return ARM::PC << 13;       // Rn is PC;
+    return ARM::PC << 9;        // Rn is PC;
 
   uint32_t Binary = ARM_AM::getAM5Offset(Imm8);
   // Immediate is always encoded as positive. The 'U' bit controls add vs sub.