diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2013-10-01 08:38:02 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2013-10-01 08:38:02 +0000 |
commit | c8d0d007811731b114fc0300cd2a1c18258366b0 (patch) | |
tree | 8020dde4aaef82bb0d9a6d25f034aba43847db0e /lib | |
parent | 18a8e10720decaeab3f3d1f35c1a513d1e6ac65b (diff) | |
download | external_llvm-c8d0d007811731b114fc0300cd2a1c18258366b0.zip external_llvm-c8d0d007811731b114fc0300cd2a1c18258366b0.tar.gz external_llvm-c8d0d007811731b114fc0300cd2a1c18258366b0.tar.bz2 |
AVX-512: Added X86vzmovl patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191733 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/X86InstrAVX512.td | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index c9901bc..e73c73e 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -1467,6 +1467,10 @@ let Predicates = [HasAVX512] in { let AddedComplexity = 20 in { def : Pat<(v4i32 (X86vzmovl (v4i32 (scalar_to_vector (loadi32 addr:$src))))), (VMOVDI2PDIZrm addr:$src)>; + def : Pat<(v2i64 (X86vzmovl (v2i64 (scalar_to_vector GR64:$src)))), + (VMOV64toPQIZrr GR64:$src)>; + def : Pat<(v4i32 (X86vzmovl (v4i32 (scalar_to_vector GR32:$src)))), + (VMOVDI2PDIZrr GR32:$src)>; def : Pat<(v4i32 (X86vzmovl (bc_v4i32 (loadv4f32 addr:$src)))), (VMOVDI2PDIZrm addr:$src)>; @@ -1477,6 +1481,7 @@ let Predicates = [HasAVX512] in { def : Pat<(v2f64 (X86vzmovl (v2f64 VR128X:$src))), (VMOVZPQILo2PQIZrr VR128X:$src)>; } + // Use regular 128-bit instructions to match 256-bit scalar_to_vec+zext. def : Pat<(v8i32 (X86vzmovl (insert_subvector undef, (v4i32 (scalar_to_vector GR32:$src)),(iPTR 0)))), |