Port strength reduction for i64 multiplication from x64
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox90 | --- | fixed |
People
(Reporter: lth, Assigned: lth)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
It's straightforward to port the x64 strength reduction code to arm64 as a stopgap until we have the time to clean up strength reduction across the board (bug 1712298).
We want codegen tests for this, and they should also test 32-bit multiply and 32/64-bit multiply on x64.
Assignee | ||
Comment 1•3 years ago
|
||
Ported the strength reduction optimization for n*c when n is i64 and c
is a friendly constant from x64 to arm64; a merging of these
implementations (and the implementations for i32) will happen in a
later bug.
Added test cases that these optimizations are triggered properly for
both i32 and i64.
Depends on D115695
Comment 2•3 years ago
|
||
This should really be done once at the MIR level; it's not clear to me what
the win is for doing it per-arch at the LIR level. I guess that's what bug 1712298
might do.
Assignee | ||
Comment 3•3 years ago
|
||
(In reply to Julian Seward [:jseward] from comment #2)
This should really be done once at the MIR level; it's not clear to me what
the win is for doing it per-arch at the LIR level. I guess that's what bug 1712298
might do.
Precisely. The code should be commoned if at all possible, and 32-bit and 64-bit should have the same cases when possible (and 64-bit currently ignores overflow and should probably have asserts to ensure the nodes are not fallible, as they should not be). Finally, when emitting multiply-by-constant we may have some platform-dependent strategies (see nbp's comments on the other bug) so we may need a little bit of parameterization for that, but we'll see how far we take it.
Pushed by lhansen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0570f92e9ffe Port strength reduction for i64 multiply to arm64. r=jseward
Comment 5•3 years ago
|
||
Backed out for causing SM bustages.
Backout link: https://hg.mozilla.org/integration/autoland/rev/299b3a1c144d17f8cd3f2bf27b801eca577df28a
Failure log: https://treeherder.mozilla.org/logviewer?job_id=340741199&repo=autoland&lineNumber=891
Updated•3 years ago
|
Pushed by lhansen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0525c2e47b6f Port strength reduction for i64 multiply to arm64. r=jseward
Comment 8•3 years ago
|
||
bugherder |
Description
•