This is an archive of the discontinued LLVM Phabricator instance.

[X86] Provide execution domains for scalar floating point operations (mk2)
ClosedPublic

Authored by RKSimon on Apr 18 2015, 5:42 AM.

Details

Summary

This is an updated version of Chandler's patch D7402 that got accepted but never committed, and has bit-rotted a bit since.

I've updated the execution domain declarations to match the approach of the packed templates and also added some extra scalar unary tests.

Note that the extra tests demonstrate that scalar unary ops aren't aware of the 'pass through' nature of the remaining vector lanes - this can be fixed in a future patch with explicit patterns like for scalar binary instructions.

Including Sanjay + Elena as they have both worked on the scalar operations recently.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon updated this revision to Diff 23989.Apr 18 2015, 5:42 AM
RKSimon retitled this revision from to [X86] Provide execution domains for scalar floating point operations (mk2).
RKSimon updated this object.
RKSimon edited the test plan for this revision. (Show Details)
RKSimon added reviewers: chandlerc, qcolombet, spatel, delena.
RKSimon set the repository for this revision to rL LLVM.
RKSimon added a subscriber: Unknown Object (MLST).
qcolombet accepted this revision.Apr 20 2015, 2:33 PM
qcolombet edited edge metadata.

Hi Simon,

LGTM.

Cheers,
-Quentin

This revision is now accepted and ready to land.Apr 20 2015, 2:33 PM
This revision was automatically updated to reflect the committed changes.