diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp index c1188d1c139e5..a57656ffb38bb 100644 --- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp +++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp @@ -471,7 +471,7 @@ bool AArch64AsmBackend::writeNopData(raw_ostream &OS, uint64_t Count, // We are properly aligned, so write NOPs as requested. Count /= 4; for (uint64_t i = 0; i != Count; ++i) - support::endian::write(OS, 0xd503201f, Endian); + OS.write("\x1f\x20\x03\xd5", 4); return true; } diff --git a/llvm/test/MC/AArch64/align.s b/llvm/test/MC/AArch64/align.s new file mode 100644 index 0000000000000..fa9950f987754 --- /dev/null +++ b/llvm/test/MC/AArch64/align.s @@ -0,0 +1,14 @@ +// RUN: llvm-mc -filetype=obj -triple aarch64-none-eabi %s | llvm-objdump -d - | FileCheck %s +// RUN: llvm-mc -filetype=obj -triple aarch64_be-none-eabi %s | llvm-objdump -d - | FileCheck %s + +// CHECK: 0: 00 00 80 d2 mov x0, #0 +// CHECK: 4: 00 00 80 d2 mov x0, #0 +// CHECK: 8: 1f 20 03 d5 nop +// CHECK: c: 1f 20 03 d5 nop +// CHECK: 10: 00 00 80 d2 mov x0, #0 + + .text + mov x0, #0 + mov x0, #0 + .p2align 4 + mov x0, #0