Closed Bug 703605 Opened 14 years ago Closed 14 years ago

Inline all float4 methods (x86-32)

Categories

(Tamarin Graveyard :: Virtual Machine, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED
Q2 12 - Cyril

People

(Reporter: lhansen, Assigned: edwsmith)

References

Details

The float4 methods usually map to SIMD primitives or combinations thereof and are expected to be very hot in real code. We should be sure to inline them all to get the best performance.
Assignee: nobody → edwsmith
An open question here is about semantics. On SSE2, the semantics of max and min (for example) do not correspond to IEEE or AS3 semantics for Math.max and Math.min. Do we make these primitives machine dependent (and thus fast, but less reliable) or not? The reality is that if the discrepancies show up around NaN and -0/+0 only, then performance is probably most important for float4 users.
Edwin writes: "I just pushed inlining for float4 static functions, except cross() and the relational operators." changeset: 6957:eb296131c1e0 user: Edwin Smith <edwsmith@adobe.com> date: Mon Nov 28 16:36:33 2011 -0500 summary: Bug 703605 - Inline all float4 methods (x86-only, not all methods yet).
Summary: Inline all float4 methods → Inline all float4 methods (x86-32)
I pushed inline optimizations for corss() and the relational operators in changelists 7060:e7dd91d77736 and 7061:ce0332ed7650, so this should be fixed now. (note: all(), any(), none() are still not inlined - but those are a separate (P4) bug)
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.