[X86] AVX512: Generate Pat<>'s for the vpermt2* intrinsics via multiclass
authorAdam Nemet <anemet@apple.com>
Wed, 2 Jul 2014 21:25:58 +0000 (21:25 +0000)
committerAdam Nemet <anemet@apple.com>
Wed, 2 Jul 2014 21:25:58 +0000 (21:25 +0000)
commit31d2114a347432b107f1ba9cb0414afe3627550d
tree42a891025a2eb9a0925b75855499bea2598b9116
parentdf5d431084c5f5adb3cfa41eb1cb852bbce0a61c
[X86] AVX512: Generate Pat<>'s for the vpermt2* intrinsics via multiclass

This new multiclass, avx512_perm_table_3src derives from the current one and
provides the Pat<>.  The next patch will add another Pat<> that uses the
writemask.

Note that I dropped the type annotation from the intrinsic call, i.e.: (v16f32
VR512:$src1) -> R512:$src1.  I think that this should be fine (at least many
intrinsic calls don't provide them) and it greatly reduces the number of
template arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212222 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrAVX512.td