This is an archive of the discontinued LLVM Phabricator instance.

[X86] Remove isel patterns for mask vpcmpgt/vpcmpeq. Switch vpcmp to these based on the immediate in MCInstLower
ClosedPublic

Authored by craig.topper on Oct 3 2019, 11:56 PM.

Details

Summary

The immediate form of VPCMP can represent these completely. The
vpcmpgt/eq are just shorter encodings.

This patch removes the isel patterns and just swaps the opcodes
and removes the immediate in MCInstLower. This matches where we do
some other encodings tricks.

Removes over 10K bytes from the isel table.

Event Timeline

craig.topper created this revision.Oct 3 2019, 11:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 3 2019, 11:56 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
RKSimon added inline comments.Oct 4 2019, 9:53 AM
llvm/lib/Target/X86/X86InstrAVX512.td
3145

Can this be removed as well?

3168

Can this be removed as well?

craig.topper marked 2 inline comments as done.Oct 4 2019, 9:55 AM
craig.topper added inline comments.
llvm/lib/Target/X86/X86InstrAVX512.td
3145

yes

3168

Yes

RKSimon accepted this revision.Oct 4 2019, 10:41 AM

LGTM with the removal of axv512_icmp_packed_no_vlx_lowering / axv512_icmp_packed_rmb_no_vlx_lowering as well

This revision is now accepted and ready to land.Oct 4 2019, 10:41 AM
This revision was automatically updated to reflect the committed changes.