Closed
Bug 1433126
(FJCVTZS)
Opened 7 years ago
Closed 4 years ago
Investigate using FJCVTZS in the ARM64 JIT
Categories
(Core :: JavaScript Engine: JIT, enhancement, P3)
Tracking
()
RESOLVED
DUPLICATE
of bug 1556571
People
(Reporter: gcp, Unassigned)
References
Details
https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0801g/hko1477562192868.html
FJCVTZS instruction to convert floating points to 32 bit integers for JS use.
Updated•7 years ago
|
Comment 1•6 years ago
|
||
An Apple developer says he plans to add support for FJCVTZS in JavaScriptCore this week:
https://bugs.webkit.org/show_bug.cgi?id=184023
Hardware: ARM → ARM64
Summary: Investigate using FJCVTZS in the JIT → Investigate using FJCVTZS in the ARM64 JIT
Comment 2•6 years ago
|
||
At least plausibly we could also use this in implementing ToUnsignedInteger/ToSignedInteger in js/public/Conversions.h. We already have an ARM-specific definition for ToSignedInteger<int32_t>, and we could perhaps use it more. We could also do the same for mfbt/FloatingPoint.h's NumberIsInt32 and NumberEqualsInt32, with some care for -0 in the latter case.
Making use of this instruction in any of those cases -- in code not generated at runtime -- would require some care, given we presumably want to support ARM versions that don't have this instruction. So it might not be worth it. But we should at least consider the possibility if it could be used reasonably efficiently somehow.
Updated•6 years ago
|
Alias: FJCVTZS
status-firefox60:
fix-optional → ---
Comment 3•6 years ago
|
||
I'm aware of this. Our existing VIXL implementation doesn't support encoding it yet, so it will require upgrading to trunk (or backporting, but I'd rather upgrade).
Updated•4 years ago
|
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•