[RISCV] Use canonical move instruction in RISCVAsmPrinter::EmitHwasanMemaccessSymbols.
authorCraig Topper <craig.topper@sifive.com>
Wed, 18 Jan 2023 19:38:38 +0000 (11:38 -0800)
committerCraig Topper <craig.topper@sifive.com>
Wed, 18 Jan 2023 19:38:39 +0000 (11:38 -0800)
We were using an OR with X0 which is the canonical move for AArch64.
The canonical move for RISC-V is ADDI reg1, reg2, 0.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D142044

llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp

index f1af99a..a4b999e 100644 (file)
@@ -449,10 +449,10 @@ void RISCVAsmPrinter::EmitHwasanMemaccessSymbols(Module &M) {
                                                                             8),
         MCSTI);
     if (Reg != RISCV::X10)
-      OutStreamer->emitInstruction(MCInstBuilder(RISCV::OR)
+      OutStreamer->emitInstruction(MCInstBuilder(RISCV::ADDI)
                                        .addReg(RISCV::X10)
-                                       .addReg(RISCV::X0)
-                                       .addReg(Reg),
+                                       .addReg(Reg)
+                                       .addImm(0),
                                    MCSTI);
     OutStreamer->emitInstruction(
         MCInstBuilder(RISCV::ADDI)