Closed
Bug 1108825
Opened 10 years ago
Closed 10 years ago
OdinMonkey: SIMD.int32x4.mul
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla37
People
(Reporter: sunfish, Assigned: bbouvier)
References
Details
Attachments
(1 file)
33.00 KB,
patch
|
sunfish
:
review+
|
Details | Diff | Splinter Review |
The ecmascript_simd spec includes mul on integer types. SSE4.1 has PMULLD. On x86 processors which lack SSE4.1, one can shuffle the input values, do two pmuludq instructions, and then shuffle the results to pack the 4 low halves of the result values back into an int32x4 for the output.
Assignee | ||
Comment 1•10 years ago
|
||
Finally got it. Sorry the patch is way bigger than expected, but a big part of it is only code motion. The int32x4.mul needs temporaries if we don't have SSE4.1, and this condition on lowering makes lowering platform dependent, thus ReorderCommutative needs to be visible from within the platform-specific Lowerings, hence the code motion. I've also added the FPUREG case to movdqa (in Assembler-x86-shared), as it really doesn't make sense not to be able to copy an Operand to a Register directly (without looking at the Operand kind).
Attachment #8533810 -
Flags: review?(sunfish)
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → benj
Status: NEW → ASSIGNED
Reporter | ||
Comment 2•10 years ago
|
||
Comment on attachment 8533810 [details] [diff] [review] Implement SIMD.int32x4.mul in Odin Review of attachment 8533810 [details] [diff] [review]: ----------------------------------------------------------------- Looks good!
Attachment #8533810 -
Flags: review?(sunfish) → review+
Assignee | ||
Comment 3•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/dd24124194d5
Assignee | ||
Comment 4•10 years ago
|
||
Something's wrong, backed out for SM(e) failures and probably future jit-test failures like https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=dd24124194d5 https://hg.mozilla.org/integration/mozilla-inbound/rev/56d19efedf4f
Assignee | ||
Comment 5•10 years ago
|
||
Duh, rebasing conflict with bhackett's patches to make lowering non fallible. Get in the tree, or die try-ing: https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=ff8c8871c36c
Assignee | ||
Comment 6•10 years ago
|
||
All green, we should be good to go. https://hg.mozilla.org/integration/mozilla-inbound/rev/354a878fcc9f
https://hg.mozilla.org/mozilla-central/rev/354a878fcc9f
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
You need to log in
before you can comment on or make changes to this bug.
Description
•