This is an archive of the discontinued LLVM Phabricator instance.

[AVX-512] Teach two address instruction pass to replace masked move instructions with blendm instructions when its beneficial.
ClosedPublic

Authored by craig.topper on Jan 7 2017, 8:59 PM.

Details

Summary

Isel now selects masked move instructions for vselect instead of blendm. But sometimes it beneficial to register allocation to remove the tied register constraint by using blendm instructions.

This also picks up cases where the masked move was created due to a masked load intrinsic.

Diff Detail

Event Timeline

craig.topper retitled this revision from to [AVX-512] Teach two address instruction pass to replace masked move instructions with blendm instructions when its beneficial..
craig.topper updated this object.
craig.topper added reviewers: RKSimon, delena, zvi.
craig.topper added a subscriber: llvm-commits.
RKSimon accepted this revision.Jan 13 2017, 4:17 AM
RKSimon edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jan 13 2017, 4:17 AM
This revision was automatically updated to reflect the committed changes.