This is an archive of the discontinued LLVM Phabricator instance.

[X86][BtVer2] Teach how to identify zero-idio VPERM2F128rr instructions.
ClosedPublic

Authored by andreadb on Sep 28 2018, 10:57 AM.

Details

Summary

This patch adds another variant class to identify zero-idiom VPERM2F128rr instructions.

On Jaguar, a VPERM wih bit 3 and 7 of the mask set, is a zero-idiom.

Please let me know if okay to commit.

Thanks,
Andrea

Diff Detail

Repository
rL LLVM

Event Timeline

andreadb created this revision.Sep 28 2018, 10:57 AM
andreadb retitled this revision from [X86][BtVer2] VPERM2F128rr instructions with Mask bits 3 and 7 are also zero-idioms. to [X86][BtVer2] Teach how to identify zero-idio VPERM2F128rr instructions..Sep 28 2018, 10:58 AM
mattd added inline comments.Sep 28 2018, 12:48 PM
lib/Target/X86/X86ScheduleBtVer2.td
692 ↗(On Diff #167514)

If I have read things correctly, 136 represents a bit mask, it might be clearer to represent that value as 0x88 or 0b10001000

andreadb updated this revision to Diff 167600.Sep 29 2018, 6:47 AM

Addressed review comments.

Also, moved the predicate definition to X86SchedPredicates.td

RKSimon accepted this revision.Sep 29 2018, 7:11 AM

LGTM - thanks

This revision is now accepted and ready to land.Sep 29 2018, 7:11 AM
This revision was automatically updated to reflect the committed changes.