From 86af00af8a513a207edc92a2705dcbb6239f0e86 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Fri, 1 Sep 2017 07:58:14 +0000 Subject: [PATCH] [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 --- lib/Target/X86/X86InstrAVX512.td | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) 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, -- 2.50.1