[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)
commitefe9c98a16e5a9351ec31e68d14d7af9c4a58a2c
treec6b12787f4bd3451151b9b97cd4eca07950cd57c
parent2415a497b5e77b0cd6bce5c18d32914429038aa5
[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.

llvm-svn: 212222
llvm/lib/Target/X86/X86InstrAVX512.td