This is an archive of the discontinued LLVM Phabricator instance.

[AVX-512] Replace large number of explicit patterns that check for insert_subvector with zero after masked compares with fewer patterns with predicate
ClosedPublic

Authored by craig.topper on Sep 23 2017, 10:51 PM.

Details

Summary

This replaces the large number of patterns that handle every possible case of zeroing after a masked compare with a few simpler patterns that use a predicate to check for a masked compare producer.

This is similar to what we do for detecting free GR32->GR64 zero extends and free xmm->ymm/zmm zero extends.

This shrinks the isel table from ~590k to ~531k. This is a roughly 10% reduction in size.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Sep 23 2017, 10:51 PM
RKSimon accepted this revision.Sep 24 2017, 7:15 AM

Makes sense to me.

This revision is now accepted and ready to land.Sep 24 2017, 7:15 AM
This revision was automatically updated to reflect the committed changes.