Closed Bug 1115388 Opened 9 years ago Closed 9 years ago

MSimdValueX4 and similar (Splat?) are not valid Float32 consumers.

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla37

People

(Reporter: nbp, Assigned: nbp)

References

Details

Attachments

(1 file)

As AsmJS does not run the apply type phase which is done in Ion, we never needed that before.  Now that we expect to run the Apply type phase, we have to flag all these MSimd instructions as valid Float32 consumer when the MIRType of the Simd instruction implies that we accept Float32 input(s).
Assignee: nobody → nicolas.b.pierron
Status: NEW → ASSIGNED
Comment on attachment 8542167 [details] [diff] [review]
Make Simd instructions, accepting Float32 operands, valid Float32 consumers.

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

Simple and easy, thanks.

::: js/src/jit/IonTypes.h
@@ +565,5 @@
>  static inline unsigned
>  SimdTypeToLength(MIRType type)
>  {
>      MOZ_ASSERT(IsSimdType(type));
> +    return VectorSize(type);

Ha nice, I didn't know these two functions. However, this change is unrelated, please make a different patch moving the assertions + comments and renaming VectorSize to SimdTypeToLength / ElementType to SimdTypeToScalarType.

@@ +572,5 @@
>  static inline MIRType
>  SimdTypeToScalarType(MIRType type)
>  {
>      MOZ_ASSERT(IsSimdType(type));
> +    return ElementType(type);

see above
Attachment #8542167 - Flags: review?(benj) → review+
I divided the patch in 2 parts, as requested, the first one being about adding the canConsumeFloat32 methods, and the second being about inlining the ElementType and VectorSize inside the Simd functions.

https://hg.mozilla.org/integration/mozilla-inbound/rev/d8a111f0fb64
https://hg.mozilla.org/integration/mozilla-inbound/rev/94a046dfcb49
https://hg.mozilla.org/mozilla-central/rev/287d56de1d62
https://hg.mozilla.org/mozilla-central/rev/5b4b340109fc
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: