ARM assembly parser canonicallize on 'lsl' for shift-by-zero form.
authorJim Grosbach <grosbach@apple.com>
Thu, 22 Dec 2011 17:37:00 +0000 (17:37 +0000)
committerJim Grosbach <grosbach@apple.com>
Thu, 22 Dec 2011 17:37:00 +0000 (17:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147152 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/AsmParser/ARMAsmParser.cpp

index 4f4a135a1134379d59fea5687bf58e1a120efc94..d70511ff556da3132045c77d355864e23190fc9a 100644 (file)
@@ -2421,6 +2421,10 @@ int ARMAsmParser::tryParseShiftRegister(
         Error(ImmLoc, "immediate shift value out of range");
         return -1;
       }
+      // shift by zero is a nop. Always send it through as lsl.
+      // ('as' compatibility)
+      if (Imm == 0)
+        ShiftTy = ARM_AM::lsl;
     } else if (Parser.getTok().is(AsmToken::Identifier)) {
       ShiftReg = tryParseRegister();
       SMLoc L = Parser.getTok().getLoc();