Index: lib/MC/MCParser/AsmParser.cpp =================================================================== --- lib/MC/MCParser/AsmParser.cpp +++ lib/MC/MCParser/AsmParser.cpp @@ -4510,7 +4510,7 @@ return Error(ExprLoc, "literal value not a power of two greater then zero"); Info.AsmRewrites->push_back( - AsmRewrite(AOK_Align, IDLoc, 5, Log2_64(IntValue))); + AsmRewrite(AOK_Align, IDLoc, 5, IntValue)); return false; } @@ -4713,11 +4713,10 @@ break; case AOK_Align: { unsigned Val = AR.Val; - OS << ".align " << Val; - + OS << ".align " ; + // Skip the original immediate. - assert(Val < 10 && "Expected alignment less then 2^10."); - AdditionalSkip = (Val < 4) ? 2 : Val < 7 ? 3 : 4; + AdditionalSkip = 1; break; } case AOK_DotOperator: