Closed Bug 1499128 Opened Last year Closed Last year
Assembler::branct Test Ptr with Non Zero instead of Not Equal condition in Wasm Baseline Compile
On MIPS the later is not an alias for the former and is unsupported in case of MacroAssembler::branctTestPtr.
Assignee: nobody → dragan.mladjenovic
Status: NEW → ASSIGNED
Attachment #9017234 - Flags: review?(jitbugs)
Attachment #9017234 - Flags: review?(jitbugs) → review+
I don't mind the change, but is MIPS the only platform where NonZero != NotEqual for integer data or is this universal in the masm layer? I have always assumed these are equivalent...
For x86/x64, yes for sure as they are expressed with the Zero flag. On ARM this is the same thing as well: https://searchfox.org/mozilla-central/source/js/src/jit/arm/Assembler-arm.h#1212-1213,1230-1231 On Arm64 as well: https://searchfox.org/mozilla-central/source/js/src/jit/arm64/vixl/Constants-vixl.h#236 Then, Test instructions do not check equality but the properties of the result of an AND instruction. So, English-wise speaking Test checks for Zero, and not for Equal(-Zero).
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/2a75c9918716 Use MacroAssembler::branctTestPtr with NonZero instead of NotEqual condition in WasmBaselineCompile; r=nbp
You need to log in before you can comment on or make changes to this bug.