maybeInlineSimd128Int fails to handle most constants
Categories
(Core :: JavaScript: WebAssembly, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox84 | --- | fixed |
People
(Reporter: lth, Assigned: lth)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
maybeInlineSimd128Int compares its input with two int32x4 constants. Since the type tag is taken into account during the equality checking and int8x16 and int16x8 and int64x2 are not the same type tag, most constants that could be synthesized even with the limited code we have are not synthesized.
This is the kind of bug you'll mostly only find by having test cases that check the generated code, which is why we should have test cases checking the generated code.
Assignee | ||
Comment 1•4 years ago
|
||
When synthesizing constants we should be interested in type classes
(int vs float) and bit patterns in those classes, not specific tags --
a zero is a zero regardless of whether it is i8x16 or i32x4.
Thus the operator == on SimdConstant that takes type tags into account
is the wrong primitive to find out is a constant is synthesizable,
indeed, it is the wrong primitive in almost every case. So get rid of
it, replace it with more suitable primitives, and use those
everywhere.
Add test cases that test that we are emitting the right instructions
for constants that are easy to synthesize.
Depends on D93720
Pushed by lhansen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2716ecaf485c Properly recognize wasm constants that can be synthesized. r=jseward
Comment 3•4 years ago
|
||
Backed out 13 changesets (bug 1641595, bug 1671998, bug 1672770, bug 1641641, bug 1672697, bug 1672911, bug 1671996, bug 1671907, bug 1640662) for causing sm failures in splat-x64-ion-codegen.js
Backout link: https://hg.mozilla.org/integration/autoland/rev/c2c595aa8fe1dc18803bf80df3bca7ca07443038
Pushed by lhansen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bbefba0527c2 Properly recognize wasm constants that can be synthesized. r=jseward
Comment 5•4 years ago
|
||
bugherder |
Description
•