Index: lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp =================================================================== --- lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp +++ lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp @@ -71,8 +71,12 @@ if (atomicBarrierDroppedOnZero(Opcode) && (MI->getOperand(0).getReg() == AArch64::XZR || - MI->getOperand(0).getReg() == AArch64::WZR)) + MI->getOperand(0).getReg() == AArch64::WZR)) { + if (!printAliasInstr(MI, STI, O)) + printInstruction(MI, STI, O); printAnnotation(O, "acquire semantics dropped since destination is zero"); + return; + } // SBFM/UBFM should print to a nicer aliased form if possible. if (Opcode == AArch64::SBFMXri || Opcode == AArch64::SBFMWri ||