diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrAVX512.td')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index 107289ada2e..e97782b937b 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -3170,7 +3170,7 @@ defm : operation_subvector_mask_lowering<VK32, v32i1, VK64, v64i1>; // -multiclass avx512_load<bits<8> opc, string OpcodeStr, MoveLoadStoreItins itins, +multiclass avx512_load<bits<8> opc, string OpcodeStr, X86VectorVTInfo _, PatFrag ld_frag, PatFrag mload, SchedWrite SchedRR, SchedWrite SchedRM, bit NoRMPattern = 0, @@ -3239,15 +3239,15 @@ multiclass avx512_alignedload_vl<bits<8> opc, string OpcodeStr, Predicate prd, SchedWrite SchedRR, SchedWrite SchedRM, bit NoRMPattern = 0> { let Predicates = [prd] in - defm Z : avx512_load<opc, OpcodeStr, SSE_MOVA, _.info512, + defm Z : avx512_load<opc, OpcodeStr, _.info512, _.info512.AlignedLdFrag, masked_load_aligned512, SchedRR, SchedRM, NoRMPattern>, EVEX_V512; let Predicates = [prd, HasVLX] in { - defm Z256 : avx512_load<opc, OpcodeStr, SSE_MOVA, _.info256, + defm Z256 : avx512_load<opc, OpcodeStr, _.info256, _.info256.AlignedLdFrag, masked_load_aligned256, SchedRR, SchedRM, NoRMPattern>, EVEX_V256; - defm Z128 : avx512_load<opc, OpcodeStr, SSE_MOVA, _.info128, + defm Z128 : avx512_load<opc, OpcodeStr, _.info128, _.info128.AlignedLdFrag, masked_load_aligned128, SchedRR, SchedRM, NoRMPattern>, EVEX_V128; } @@ -3259,21 +3259,21 @@ multiclass avx512_load_vl<bits<8> opc, string OpcodeStr, SchedWrite SchedRM, bit NoRMPattern = 0, SDPatternOperator SelectOprr = vselect> { let Predicates = [prd] in - defm Z : avx512_load<opc, OpcodeStr, SSE_MOVU, _.info512, _.info512.LdFrag, + defm Z : avx512_load<opc, OpcodeStr, _.info512, _.info512.LdFrag, masked_load_unaligned, SchedRR, SchedRM, NoRMPattern, SelectOprr>, EVEX_V512; let Predicates = [prd, HasVLX] in { - defm Z256 : avx512_load<opc, OpcodeStr, SSE_MOVU, _.info256, _.info256.LdFrag, + defm Z256 : avx512_load<opc, OpcodeStr, _.info256, _.info256.LdFrag, masked_load_unaligned, SchedRR, SchedRM, NoRMPattern, SelectOprr>, EVEX_V256; - defm Z128 : avx512_load<opc, OpcodeStr, SSE_MOVU, _.info128, _.info128.LdFrag, + defm Z128 : avx512_load<opc, OpcodeStr, _.info128, _.info128.LdFrag, masked_load_unaligned, SchedRR, SchedRM, NoRMPattern, SelectOprr>, EVEX_V128; } } -multiclass avx512_store<bits<8> opc, string OpcodeStr, MoveLoadStoreItins itins, +multiclass avx512_store<bits<8> opc, string OpcodeStr, X86VectorVTInfo _, PatFrag st_frag, PatFrag mstore, string Name, SchedWrite SchedRR, SchedWrite SchedMR, bit NoMRPattern = 0> { @@ -3318,14 +3318,14 @@ multiclass avx512_store_vl< bits<8> opc, string OpcodeStr, string Name, SchedWrite SchedRR, SchedWrite SchedMR, bit NoMRPattern = 0> { let Predicates = [prd] in - defm Z : avx512_store<opc, OpcodeStr, SSE_MOVU, _.info512, store, + defm Z : avx512_store<opc, OpcodeStr, _.info512, store, masked_store_unaligned, Name#Z, SchedRR, SchedMR, NoMRPattern>, EVEX_V512; let Predicates = [prd, HasVLX] in { - defm Z256 : avx512_store<opc, OpcodeStr, SSE_MOVU, _.info256, store, + defm Z256 : avx512_store<opc, OpcodeStr, _.info256, store, masked_store_unaligned, Name#Z256, SchedRR, SchedMR, NoMRPattern>, EVEX_V256; - defm Z128 : avx512_store<opc, OpcodeStr, SSE_MOVU, _.info128, store, + defm Z128 : avx512_store<opc, OpcodeStr, _.info128, store, masked_store_unaligned, Name#Z128, SchedRR, SchedMR, NoMRPattern>, EVEX_V128; } @@ -3336,15 +3336,15 @@ multiclass avx512_alignedstore_vl<bits<8> opc, string OpcodeStr, string Name, SchedWrite SchedRR, SchedWrite SchedMR, bit NoMRPattern = 0> { let Predicates = [prd] in - defm Z : avx512_store<opc, OpcodeStr, SSE_MOVA, _.info512, alignedstore, + defm Z : avx512_store<opc, OpcodeStr, _.info512, alignedstore, masked_store_aligned512, Name#Z, SchedRR, SchedMR, NoMRPattern>, EVEX_V512; let Predicates = [prd, HasVLX] in { - defm Z256 : avx512_store<opc, OpcodeStr, SSE_MOVA, _.info256, alignedstore, + defm Z256 : avx512_store<opc, OpcodeStr, _.info256, alignedstore, masked_store_aligned256, Name#Z256, SchedRR, SchedMR, NoMRPattern>, EVEX_V256; - defm Z128 : avx512_store<opc, OpcodeStr, SSE_MOVA, _.info128, alignedstore, + defm Z128 : avx512_store<opc, OpcodeStr, _.info128, alignedstore, masked_store_aligned128, Name#Z128, SchedRR, SchedMR, NoMRPattern>, EVEX_V128; } |