Closed Bug 1518289 Opened 5 years ago Closed 5 years ago

ARM64: Implement codegen for visitRoundF().

Categories

(Core :: JavaScript Engine: JIT, enhancement, P2)

ARM64
Unspecified
enhancement

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: sstangl, Assigned: sstangl)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Just like the visitRound() patch, but for 32-bit floating point.

Attachment #9034822 - Flags: review?(nicolas.b.pierron)
Comment on attachment 9034822 [details] [diff] [review]
0001-Implement-ARM64-CodeGenerator-visitRoundF-.-r-nbp.patch

Review of attachment 9034822 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good to me, nothing more to say expect that this look like a proper port from visitRound to visitRoundF.

::: js/src/jit/arm64/CodeGenerator-arm64.cpp
@@ +1052,5 @@
> +    // In the case of zero, the input may have been NaN or -0, which must bail.
> +    masm.branch32(Assembler::NotEqual, output, Imm32(0), &done);
> +    {
> +      // If input is NaN, comparisons set the C and V bits of the NZCV flags.
> +      masm.Fcmp(ARMFPRegister(input), 0.0f);

note: Nice touch on the 0.0f :)  (hopefully C++ should coerce it to a double at compile time to match Fcmp second parameter type)
Attachment #9034822 - Flags: review?(nicolas.b.pierron) → review+

Same patch, but avoids redundantly creating an ARMFPRegister that already exists.

Attachment #9034822 - Attachment is obsolete: true
Attachment #9035088 - Flags: review+
Keywords: checkin-needed

Pushed by apavel@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/52e46924c0bc
Implement ARM64 CodeGenerator::visitRoundF(). r=nbp

Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: