diff options
author | Asaf Badouh <asaf.badouh@intel.com> | 2015-12-27 12:14:34 +0000 |
---|---|---|
committer | Asaf Badouh <asaf.badouh@intel.com> | 2015-12-27 12:14:34 +0000 |
commit | b0d91fa42a74a7b8b319eb8d52c5bb7e259f193a (patch) | |
tree | e7c245462ab0601e3b336445065b3835f11a55a7 /llvm | |
parent | 46f338ce7fc01d27d1801c957a0b5794ec91b283 (diff) | |
download | bcm5719-llvm-b0d91fa42a74a7b8b319eb8d52c5bb7e259f193a.tar.gz bcm5719-llvm-b0d91fa42a74a7b8b319eb8d52c5bb7e259f193a.zip |
[X86][AVX512] change broadcast to use maskable pattern
Differential Revision: http://reviews.llvm.org/D15786
llvm-svn: 256469
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index 59a8ead8c6e..8763ef8c90b 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -1000,23 +1000,12 @@ defm VPBROADCASTQ : avx512_int_broadcast_rm_vl<0x59, "vpbroadcastq", multiclass avx512_subvec_broadcast_rm<bits<8> opc, string OpcodeStr, X86VectorVTInfo _Dst, X86VectorVTInfo _Src> { - let mayLoad = 1 in { - def rm : AVX5128I<opc, MRMSrcMem, (outs _Dst.RC:$dst), (ins _Src.MemOp:$src), - !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"), - [(set _Dst.RC:$dst, - (_Dst.VT (X86SubVBroadcast - (_Src.VT (bitconvert (_Src.LdFrag addr:$src))))))]>, EVEX; - def rmk : AVX5128I<opc, MRMSrcMem, (outs _Dst.RC:$dst), (ins _Dst.KRCWM:$mask, - _Src.MemOp:$src), - !strconcat(OpcodeStr, - "\t{$src, ${dst} {${mask}}|${dst} {${mask}}, $src}"), - []>, EVEX, EVEX_K; - def rmkz : AVX5128I<opc, MRMSrcMem, (outs _Dst.RC:$dst), (ins _Dst.KRCWM:$mask, - _Src.MemOp:$src), - !strconcat(OpcodeStr, - "\t{$src, ${dst} {${mask}} {z}|${dst} {${mask}} {z}, $src}"), - []>, EVEX, EVEX_KZ; - } + let mayLoad = 1 in + defm rm : AVX512_maskable<opc, MRMSrcMem, _Dst, (outs _Dst.RC:$dst), + (ins _Src.MemOp:$src), OpcodeStr, "$src", "$src", + (_Dst.VT (X86SubVBroadcast + (_Src.VT (bitconvert (_Src.LdFrag addr:$src)))))>, + AVX5128IBase, EVEX; } defm VBROADCASTI32X4 : avx512_subvec_broadcast_rm<0x5a, "vbroadcasti32x4", |