Index: llvm/trunk/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp =================================================================== --- llvm/trunk/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp +++ llvm/trunk/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp @@ -69,11 +69,6 @@ return; } - if (atomicBarrierDroppedOnZero(Opcode) && - (MI->getOperand(0).getReg() == AArch64::XZR || - MI->getOperand(0).getReg() == AArch64::WZR)) - printAnnotation(O, "acquire semantics dropped since destination is zero"); - // SBFM/UBFM should print to a nicer aliased form if possible. if (Opcode == AArch64::SBFMXri || Opcode == AArch64::SBFMWri || Opcode == AArch64::UBFMXri || Opcode == AArch64::UBFMWri) { @@ -297,6 +292,12 @@ printInstruction(MI, STI, O); printAnnotation(O, Annot); + + if (atomicBarrierDroppedOnZero(Opcode) && + (MI->getOperand(0).getReg() == AArch64::XZR || + MI->getOperand(0).getReg() == AArch64::WZR)) { + printAnnotation(O, "acquire semantics dropped since destination is zero"); + } } static bool isTblTbxInstruction(unsigned Opcode, StringRef &Layout,