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.

Diff Detail

Repository
rL LLVM

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 ↗(On Diff #223147)

Can this be removed as well?

3168 ↗(On Diff #223147)

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 ↗(On Diff #223147)

yes

3168 ↗(On Diff #223147)

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.