commit 9d56e2c7adbf9b74fbed4437931324a39b56d349
parent 453e8da7933f7e61dbc03ee2a6a91e2b548809c2
Author: André Bargull <andre.bargull@gmail.com>
Date: Fri, 17 Oct 2025 11:25:45 +0000
Bug 1994191 - Part 2: Prefer comparison against zero. r=spidermonkey-reviewers,iain
Comparing against zero doesn't require to load the immediate `1` into a register.
Differential Revision: https://phabricator.services.mozilla.com/D268551
Diffstat:
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/js/src/jit/riscv64/CodeGenerator-riscv64.cpp b/js/src/jit/riscv64/CodeGenerator-riscv64.cpp
@@ -1532,7 +1532,7 @@ void CodeGenerator::visitPowHalfD(LPowHalfD* ins) {
masm.ma_compareF64(scratch, Assembler::DoubleNotEqualOrUnordered, input,
fpscratch);
- masm.ma_branch(&skip, Assembler::Equal, scratch, Operand(1));
+ masm.ma_b(scratch, Imm32(0), &skip, Assembler::NotEqual, ShortJump);
// masm.ma_bc_d(input, fpscratch, &skip, Assembler::DoubleNotEqualOrUnordered,
// ShortJump);
masm.fneg_d(output, fpscratch);
diff --git a/js/src/jit/riscv64/MacroAssembler-riscv64-inl.h b/js/src/jit/riscv64/MacroAssembler-riscv64-inl.h
@@ -652,14 +652,14 @@ void MacroAssembler::branchDouble(DoubleCondition cc, FloatRegister frs1,
UseScratchRegisterScope temps(this);
Register scratch = temps.Acquire();
ma_compareF64(scratch, cc, frs1, frs2);
- ma_b(scratch, Imm32(1), L, Equal);
+ ma_b(scratch, Imm32(0), L, NotEqual);
}
void MacroAssembler::branchFloat(DoubleCondition cc, FloatRegister frs1,
FloatRegister frs2, Label* L) {
UseScratchRegisterScope temps(this);
Register scratch = temps.Acquire();
ma_compareF32(scratch, cc, frs1, frs2);
- ma_b(scratch, Imm32(1), L, Equal);
+ ma_b(scratch, Imm32(0), L, NotEqual);
}
void MacroAssembler::branchMulPtr(Condition cond, Register src, Register dest,
Label* label) {
diff --git a/js/src/jit/riscv64/MacroAssembler-riscv64.cpp b/js/src/jit/riscv64/MacroAssembler-riscv64.cpp
@@ -4641,7 +4641,7 @@ void MacroAssembler::wasmTruncateDoubleToInt32(FloatRegister input,
if (isSaturating) {
Clear_if_nan_d(output, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}
@@ -4655,7 +4655,7 @@ void MacroAssembler::wasmTruncateDoubleToInt64(
bind(oolRejoin);
Clear_if_nan_d(output.reg, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}
@@ -4669,7 +4669,7 @@ void MacroAssembler::wasmTruncateDoubleToUInt32(FloatRegister input,
if (isSaturating) {
Clear_if_nan_d(output, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}
@@ -4683,7 +4683,7 @@ void MacroAssembler::wasmTruncateDoubleToUInt64(
bind(oolRejoin);
Clear_if_nan_d(output.reg, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}
@@ -4697,7 +4697,7 @@ void MacroAssembler::wasmTruncateFloat32ToInt32(FloatRegister input,
if (isSaturating) {
Clear_if_nan_s(output, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}
@@ -4712,7 +4712,7 @@ void MacroAssembler::wasmTruncateFloat32ToInt64(
bind(oolRejoin);
Clear_if_nan_s(output.reg, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}
@@ -4726,7 +4726,7 @@ void MacroAssembler::wasmTruncateFloat32ToUInt32(FloatRegister input,
if (isSaturating) {
Clear_if_nan_s(output, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}
@@ -4741,7 +4741,7 @@ void MacroAssembler::wasmTruncateFloat32ToUInt64(
bind(oolRejoin);
Clear_if_nan_s(output.reg, input);
} else {
- ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual);
+ ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal);
}
}