[AVX512] Add DQ subvector inserts
authorAdam Nemet <anemet@apple.com>
Wed, 15 Oct 2014 23:42:17 +0000 (23:42 +0000)
committerAdam Nemet <anemet@apple.com>
Wed, 15 Oct 2014 23:42:17 +0000 (23:42 +0000)
commit4285c1f8cc98a779d3733529ceadf3941c4b86d4
treee93ef0deb6328e078c47185e4ac545d33ad61d51
parent2b71ca5d88746ca83ce4aed15ca7984ea1224b5a
[AVX512] Add DQ subvector inserts

In AVX512f we support 64x2 and 32x8 inserts via matching them to 32x4 and 64x4
respectively.  These are matched by "Alt" Pat<>'s (Alt stands for alternative
VTs).

Since DQ has native support for these intructions, I peeled off the non-"Alt"
part of the baseclass into vinsert_for_size_no_alt. The DQ instructions are
derived from this multiclass.  The "Alt" Pat<>'s are disabled with DQ.

Fixes <rdar://problem/18426089>

llvm-svn: 219874
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrInfo.td
llvm/test/CodeGen/X86/avx512-insert-extract.ll
llvm/test/MC/X86/avx512-encodings.s