This is an archive of the discontinued LLVM Phabricator instance.

[AVX512] Don't use 32-bit elements version of AND/OR/XOR/ANDN during isel unless we're matching a masked op or broadcast
ClosedPublic

Authored by craig.topper on Aug 17 2017, 5:28 PM.

Details

Summary

Selecting 32-bit element logical ops without a select or broadcast requires matching a bitconvert on the inputs to the and. But that's a weird thing to rely on. It's entirely possible that one of the inputs doesn't have a bitcast and one does.

Since there's no functional difference, just remove the extra patterns and save some isel table size.

Diff Detail

Event Timeline

craig.topper created this revision.

Add the complete patch this time

igorb accepted this revision.Aug 30 2017, 7:20 AM

LGTM

This revision is now accepted and ready to land.Aug 30 2017, 7:20 AM
This revision was automatically updated to reflect the committed changes.