forked from OSchip/llvm-project
[AArch64] Fix the generation of BE Nops
Big endian Nops were being generated as d5 03 20 1f fnmadd s21, s30, s0, s0, getting the bytes of the NOP in the wrong order. This switches the bytes to not be dependant on the endianness. Differential Revision: https://reviews.llvm.org/D125980
This commit is contained in:
parent
83c431fb9e
commit
1379b15099
|
@ -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<uint32_t>(OS, 0xd503201f, Endian);
|
||||
OS.write("\x1f\x20\x03\xd5", 4);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue