Get rid of the extraneous GPR operand on so_reg_imm operands, which in turn necessitates a lot of changes to related bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135722 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index 827ad0f..fd8f815 100644
--- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -626,13 +626,9 @@
   }
 
   void addShiftedImmOperands(MCInst &Inst, unsigned N) const {
-    assert(N == 3 && "Invalid number of operands!");
+    assert(N == 2 && "Invalid number of operands!");
     assert(isShiftedImm() && "addShiftedImmOperands() on non ShiftedImm!");
     Inst.addOperand(MCOperand::CreateReg(ShiftedImm.SrcReg));
-    if (ShiftedImm.ShiftTy == ARM_AM::rrx)
-      Inst.addOperand(MCOperand::CreateReg(ShiftedImm.SrcReg));
-    else
-      Inst.addOperand(MCOperand::CreateReg(0));
     Inst.addOperand(MCOperand::CreateImm(
       ARM_AM::getSORegOpc(ShiftedImm.ShiftTy, ShiftedImm.ShiftImm)));
   }