]> granicus.if.org Git - llvm/commit
[AVX512] Don't mark EXTLOAD as legal with AVX512. Continue using custom lowering.
authorCraig Topper <craig.topper@intel.com>
Sun, 15 Oct 2017 16:41:17 +0000 (16:41 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 15 Oct 2017 16:41:17 +0000 (16:41 +0000)
commitc2cf105c00c50efaa41acf5343c62aba621dbfb8
treeac42b8205a16ad6b2d8bd38a0f3db13928c240ee
parent936d75b04b5e0fa86b3a5205cbcab5d15fafcd81
[AVX512] Don't mark EXTLOAD as legal with AVX512. Continue using custom lowering.

Summary:
This was impeding our ability to combine the extending shuffles with other shuffles as you can see from the test changes.

There's one special case that needed to be added to use VZEXT directly for v8i8->v8i64 since the custom lowering requires v64i8.

Reviewers: RKSimon, zvi, delena

Reviewed By: delena

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D38714

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315860 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrAVX512.td
test/CodeGen/X86/avx2-vbroadcast.ll
test/CodeGen/X86/avx512-shuffles/broadcast-vector-int.ll
test/CodeGen/X86/vec_int_to_fp.ll
test/CodeGen/X86/vector-shuffle-128-v4.ll