diff options
-rw-r--r-- | llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp index 633ff84db8a..db25efb160f 100644 --- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp +++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp @@ -162,16 +162,12 @@ bool RISCVAsmBackend::writeNopData(raw_ostream &OS, uint64_t Count) const { return false; // The canonical nop on RISC-V is addi x0, x0, 0. - uint64_t Nop32Count = Count / 4; - for (uint64_t i = Nop32Count; i != 0; --i) + for (; Count >= 4; Count -= 4) OS.write("\x13\0\0\0", 4); // The canonical nop on RVC is c.nop. - if (HasStdExtC) { - uint64_t Nop16Count = (Count - Nop32Count * 4) / 2; - for (uint64_t i = Nop16Count; i != 0; --i) - OS.write("\x01\0", 2); - } + if (Count && HasStdExtC) + OS.write("\x01\0", 2); return true; } |