commit 54f10183962564b677dc18fb22bad35301c83aca
parent 9af98b31d66efbabb08ca8a8b3965134043895f6
Author: André Bargull <andre.bargull@gmail.com>
Date: Thu, 23 Oct 2025 09:56:09 +0000
Bug 1995495 - Part 1: Prefer neg[w] to negate a register. r=spidermonkey-reviewers,iain
Differential Revision: https://phabricator.services.mozilla.com/D269365
Diffstat:
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/js/src/jit/riscv64/MacroAssembler-riscv64-inl.h b/js/src/jit/riscv64/MacroAssembler-riscv64-inl.h
@@ -1869,11 +1869,11 @@ void MacroAssembler::negateDouble(FloatRegister reg) { fneg_d(reg, reg); }
void MacroAssembler::negateFloat(FloatRegister reg) { fneg_s(reg, reg); }
-void MacroAssembler::neg64(Register64 reg) { sub(reg.reg, zero, reg.reg); }
+void MacroAssembler::neg64(Register64 reg) { neg(reg.reg, reg.reg); }
-void MacroAssembler::negPtr(Register reg) { sub(reg, zero, reg); }
+void MacroAssembler::negPtr(Register reg) { neg(reg, reg); }
-void MacroAssembler::neg32(Register reg) { subw(reg, zero, reg); }
+void MacroAssembler::neg32(Register reg) { negw(reg, reg); }
void MacroAssembler::not32(Register reg) { not_(reg, reg); }
void MacroAssembler::notPtr(Register reg) { not_(reg, reg); }
diff --git a/js/src/jit/riscv64/MacroAssembler-riscv64.cpp b/js/src/jit/riscv64/MacroAssembler-riscv64.cpp
@@ -6560,7 +6560,7 @@ void MacroAssemblerRiscv64::ma_mod_mask(Register src, Register dest,
bind(&negative);
ma_li(hold, Imm32(-1));
- subw(remain, zero, remain);
+ negw(remain, remain);
// Begin the main loop.
bind(&head);
@@ -6590,9 +6590,9 @@ void MacroAssemblerRiscv64::ma_mod_mask(Register src, Register dest,
if (negZero != nullptr) {
// Jump out in case of negative zero.
ma_b(hold, hold, negZero, Zero);
- subw(dest, zero, dest);
+ negw(dest, dest);
} else {
- subw(dest, zero, dest);
+ negw(dest, dest);
}
bind(&done);