]> granicus.if.org Git - llvm/commit
[AVX512] Don't switch unmasked subvector insert/extract instructions when AVX512DQI...
authorCraig Topper <craig.topper@intel.com>
Thu, 17 Aug 2017 15:40:25 +0000 (15:40 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 17 Aug 2017 15:40:25 +0000 (15:40 +0000)
commit7feb6fc8e50ad47bb283cdfc6d0cdc5d6ebf5c20
tree838637d1d460037bccae48d03cd6854d3f9ee2fa
parentdd0efe6d443a383e6489be4656dc53580dab1bf8
[AVX512] Don't switch unmasked subvector insert/extract instructions when AVX512DQI is enabled.

There's no reason to switch instructions with and without DQI. It just creates extra isel patterns and test divergences.

There is however value in enabling the masked version of the instructions with DQI.

This required introducing some new multiclasses to enabling this splitting.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311091 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
lib/Target/X86/X86InstrAVX512.td
test/CodeGen/X86/avx512-cvt.ll
test/CodeGen/X86/avx512-insert-extract.ll
test/CodeGen/X86/avx512-trunc.ll
test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll
test/CodeGen/X86/compress_expand.ll
test/CodeGen/X86/masked_gather_scatter.ll
test/CodeGen/X86/stack-folding-fp-avx512.ll
test/CodeGen/X86/stack-folding-int-avx512.ll
test/CodeGen/X86/subvector-broadcast.ll
test/CodeGen/X86/vector-compare-results.ll
test/CodeGen/X86/vector-shuffle-512-v16.ll
test/CodeGen/X86/vector-shuffle-avx512.ll
test/CodeGen/X86/vector-shuffle-v1.ll
test/CodeGen/X86/vector-trunc-math.ll