The default bug view has changed. See this FAQ.

IonMonkey: Reuse input in LAbsD and LSqrtD.

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: sstangl, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [ion:t])

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
Created attachment 647770 [details] [diff] [review]
patch

LAbsD and LSqrtD can trivially reuse the input register.
Attachment #647770 - Flags: review?(nicolas.b.pierron)
Whiteboard: [ion:t]
Attachment #647770 - Flags: review?(nicolas.b.pierron) → review+
(Reporter)

Comment 1

5 years ago
http://hg.mozilla.org/projects/ionmonkey/rev/f35b90ed0b8d
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
This constrains regalloc a bit though, if you have

var y = sqrt(x);
var z = abs(x);
// ..no other uses of x..

Regalloc could do

x in r0
sqrt: r0 -> r1
abs : r0 -> r0

Now it has to use an explicit move:

x in r0
move: r0 -> r1
sqrt: r1 -> r1
abs : r0 -> r0

I thought defineReuseInput was only used in cases where the hardware requires it (most non-FP instructions on x86).
So the useAtStart is good, but not the defineReuseInput ?
You need to log in before you can comment on or make changes to this bug.