From 47bd9ebda404d7d3cf051112b02cd74c459ac3e9 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sun, 19 Dec 2021 16:40:06 +0000 Subject: [PATCH] [X86][AVX512] cvt_by_vec_width - don't hardcode the schedule class. NFC. Pull out the WriteMove schedule class into the cvt_mask_by_elt_width wrapper --- llvm/lib/Target/X86/X86InstrAVX512.td | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index fa8787b..ecd4777 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -10528,21 +10528,22 @@ defm VSCATTERPF1DPD: avx512_gather_scatter_prefetch<0xC6, MRM6m, "vscatterpf1dpd defm VSCATTERPF1QPD: avx512_gather_scatter_prefetch<0xC7, MRM6m, "vscatterpf1qpd", VK8WM, vz512mem>, EVEX_V512, VEX_W, EVEX_CD8<64, CD8VT1>; -multiclass cvt_by_vec_width opc, X86VectorVTInfo Vec, string OpcodeStr > { +multiclass cvt_by_vec_width opc, X86VectorVTInfo Vec, string OpcodeStr, SchedWrite Sched> { def rr : AVX512XS8I, - EVEX, Sched<[WriteMove]>; // TODO - WriteVecTrunc? + EVEX, Sched<[Sched]>; } multiclass cvt_mask_by_elt_width opc, AVX512VLVectorVTInfo VTInfo, string OpcodeStr, Predicate prd> { +// TODO - Replace WriteMove with WriteVecTrunc? let Predicates = [prd] in - defm Z : cvt_by_vec_width, EVEX_V512; + defm Z : cvt_by_vec_width, EVEX_V512; let Predicates = [prd, HasVLX] in { - defm Z256 : cvt_by_vec_width, EVEX_V256; - defm Z128 : cvt_by_vec_width, EVEX_V128; + defm Z256 : cvt_by_vec_width, EVEX_V256; + defm Z128 : cvt_by_vec_width, EVEX_V128; } } -- 2.7.4