This is an archive of the discontinued LLVM Phabricator instance.

[X86][SSE] Enable commutation for SSE immediate blend instructions
ClosedPublic

Authored by RKSimon on Oct 28 2014, 8:23 AM.

Details

Summary

Patch to allow (v)blendps, (v)blendpd, (v)pblendw and vpblendd instructions to be commuted - swaps the src registers and inverts the blend mask.

This is primarily to improve memory folding (see new tests), but it also improves the quality of shuffles (see modified tests).

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon updated this revision to Diff 15525.Oct 28 2014, 8:23 AM
RKSimon retitled this revision from to [X86][SSE] Enable commutation for SSE immediate blend instructions.
RKSimon updated this object.
RKSimon edited the test plan for this revision. (Show Details)
RKSimon added reviewers: chandlerc, qcolombet, andreadb.
RKSimon set the repository for this revision to rL LLVM.
RKSimon added a subscriber: Unknown Object (MLST).
qcolombet accepted this revision.Nov 3 2014, 11:27 AM
qcolombet edited edge metadata.

Hi Simon,

LGTM.

Thanks,
-Quentin

This revision is now accepted and ready to land.Nov 3 2014, 11:27 AM
RKSimon closed this revision.Nov 4 2014, 3:36 PM
RKSimon updated this revision to Diff 15789.

Closed by commit rL221313 (authored by @RKSimon).