This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX512] Add patterns for masked AVX512 floating point compare instructions that were missing.
ClosedPublic

Authored by aymanmus on Jul 9 2017, 4:30 AM.

Details

Summary

patterns were missed by D33188. Adding for completion.
+Updating test.

Diff Detail

Event Timeline

aymanmus created this revision.Jul 9 2017, 4:30 AM
RKSimon added inline comments.Jul 23 2017, 3:23 AM
test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
7

Please can you submit the new test cases with the current codegen and then update this patch to show the diffs? I updated the test file a while ago (after this patch was created) to show the mess that KNL (NoVLX) makes. You should be able to use update_llc_test_checks.py as well now.

aymanmus added inline comments.Jul 23 2017, 4:08 AM
test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
7

I think you misunderstood this patch. Sorry if that wasn't clear.
The new patterns does not handle the KNL cases, but complete the set of patterns added in previous commit to floating point types also (masked versions of floating point were missing).
The added test cases will crash with "Cannot Select" error without the new patterns.

aymanmus updated this revision to Diff 107820.Jul 23 2017, 4:39 AM

Generate all KNL checks

RKSimon accepted this revision.Jul 23 2017, 7:23 AM

LGTM

test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
7

Thanks for the explanation, I thought this was just a codegen quality issue, not a bug fix.

This revision is now accepted and ready to land.Jul 23 2017, 7:23 AM