diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 0c4bbac4f69..6668fc9f557 100644 --- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -3797,15 +3797,13 @@ bool ARMAsmParser::parseDirectiveCode(SMLoc L) { Parser.Lex(); if (Val == 16) { - if (!isThumb()) { + if (!isThumb()) SwitchMode(); - getParser().getStreamer().EmitAssemblerFlag(MCAF_Code16); - } + getParser().getStreamer().EmitAssemblerFlag(MCAF_Code16); } else { - if (isThumb()) { + if (isThumb()) SwitchMode(); - getParser().getStreamer().EmitAssemblerFlag(MCAF_Code32); - } + getParser().getStreamer().EmitAssemblerFlag(MCAF_Code32); } return false;