llvm.isreg.diff   [plain text]


Index: lib/Target/ARM/AsmParser/ARMAsmParser.cpp
===================================================================
--- lib/Target/ARM/AsmParser/ARMAsmParser.cpp	(revision 137143)
+++ lib/Target/ARM/AsmParser/ARMAsmParser.cpp	(working copy)
@@ -2619,6 +2619,7 @@
   if (Mnemonic == "mov" && Operands.size() > 4 &&
       !static_cast<ARMOperand*>(Operands[4])->isARMSOImm() &&
       static_cast<ARMOperand*>(Operands[4])->isImm0_65535Expr() &&
+      static_cast<ARMOperand*>(Operands[1])->isReg() &&
       static_cast<ARMOperand*>(Operands[1])->getReg() == 0) {
     ARMOperand *Op = static_cast<ARMOperand*>(Operands[1]);
     Operands.erase(Operands.begin() + 1);