From: Craig Topper Date: Fri, 1 Sep 2017 07:58:14 +0000 (+0000) Subject: [X86] Simplify some multiclasses by inheriting from similar ones. NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=86af00af8a513a207edc92a2705dcbb6239f0e86;p=llvm [X86] Simplify some multiclasses by inheriting from similar ones. NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312311 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index 5f9658dfaed..4d44a8f632e 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -329,12 +329,8 @@ multiclass AVX512_maskable_scalar O, Format F, X86VectorVTInfo _, dag RHS, InstrItinClass itin = NoItinerary, bit IsCommutable = 0> : - AVX512_maskable_common; + AVX512_maskable; // Similar to AVX512_maskable but in this case one of the source operands // ($src1) is already tied to $dst so we just use that for the preserved @@ -344,28 +340,24 @@ multiclass AVX512_maskable_3src O, Format F, X86VectorVTInfo _, dag Outs, dag NonTiedIns, string OpcodeStr, string AttSrcAsm, string IntelSrcAsm, dag RHS, bit IsCommutable = 0, - bit IsKCommutable = 0> : + bit IsKCommutable = 0, + SDNode Select = vselect> : AVX512_maskable_common; + (Select _.KRCWM:$mask, RHS, _.RC:$src1), + Select, "", NoItinerary, IsCommutable, IsKCommutable>; multiclass AVX512_maskable_3src_scalar O, Format F, X86VectorVTInfo _, dag Outs, dag NonTiedIns, string OpcodeStr, string AttSrcAsm, string IntelSrcAsm, dag RHS, bit IsCommutable = 0, bit IsKCommutable = 0> : - AVX512_maskable_common; + AVX512_maskable_3src; multiclass AVX512_maskable_in_asm O, Format F, X86VectorVTInfo _, dag Outs, dag Ins,