Closed
Bug 931434
Opened 12 years ago
Closed 12 years ago
Ionmonkey: add float32 support to MoveGroup and MoveEmitter
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
DUPLICATE
of bug 950703
People
(Reporter: dougc, Assigned: sunfish)
References
Details
There appears to be no support for moving float32 specific values in MoveGroup and the MoveEmitters, and this results in code that uses double moves even when operating on float32 values. Using float32 moves might be move efficient.
Example sequence mixing double and float32 operations due to MoveGroup not being float32 aware:
movss -0x1acff000(%edx),%xmm2
movsd %xmm5,0x94(%esp) <<<
movsd 0xac(%esp),%xmm5 <<<
mulss %xmm2,%xmm5
addss 0x9c(%esp),%xmm6
addss 0xa4(%esp),%xmm5
subss %xmm3,%xmm6
subss 0xb4(%esp),%xmm5
movsd %xmm2,0xf4(%esp) <<<
movsd 0x11c(%esp),%xmm2 <<<
subss 0xbc(%esp),%xmm2
Comment 1•12 years ago
|
||
Glad you're looking at it! I looked at it at some point when implementing float32, but the task seems pretty heavy: every LAllocation has to know whether it contains a Float32 or Double. That means that every use*() function has to take a supplementary parameter which indicates this, and over the entire engine, that looks like a gigantic task.
| Assignee | ||
Updated•12 years ago
|
Assignee: nobody → sunfish
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•