This is an archive of the discontinued LLVM Phabricator instance.

[x86] Provide execution domains for scalar floating point operations.
AbandonedPublic

Authored by chandlerc on Feb 4 2015, 3:48 AM.

Details

Reviewers
qcolombet
Summary

While we might think of these as not executing in the "packed" domain,
in fact they do. They use the same set of resources as the packed
floating point operations in every sense, and we want to ensure that we
use the correct shuffle, load, and store instructions when interacting
with them.

Fixing this today is largely aesthetic because we just ended up using
'packed single' as the fallback default. But it removes a false
domain break and will ensure that if the default is the integer domain
that doesn't interfere with producing good floating point code.

Note that this use a 'let ExeDomain = ... in' mechanism rather than
threading it through all of the multiclasses the way I did in r228135.
I'm interested in which approach seems more appropriate, and I'm happy
to make them both converge on that.

Diff Detail

Event Timeline

chandlerc updated this revision to Diff 19310.Feb 4 2015, 3:48 AM
chandlerc retitled this revision from to [x86] Provide execution domains for scalar floating point operations..
chandlerc updated this object.
chandlerc edited the test plan for this revision. (Show Details)
chandlerc added a subscriber: Unknown Object (MLST).
qcolombet accepted this revision.Feb 4 2015, 1:09 PM
qcolombet added a reviewer: qcolombet.
qcolombet added a subscriber: qcolombet.

Hi Chandler,

LGTM.

Note that this use a 'let ExeDomain = ... in' mechanism rather than threading it through all of the multiclasses the way I did in r228135. I'm interested in which approach seems more appropriate, and I'm happy to make them both converge on that.

I am not sure there is a right answer here. 'let ExeDomain = ... in' is convenient when we have a bunch of instructions we want to put on one domain. However, in the instruction per instruction case it is more verbose. That being said, I tend to prefer the 'let' writing as it makes the information stands out.

Thanks,
Q.

This revision is now accepted and ready to land.Feb 4 2015, 1:09 PM

An updated version of this was reviewed in D9095 and committed in rL235372

chandlerc abandoned this revision.Apr 6 2016, 10:19 PM