From b59ec5ad50ee4d8c441b64da0cb216d3359741b9 Mon Sep 17 00:00:00 2001 From: Robert Khasanov Date: Fri, 12 Dec 2014 14:21:30 +0000 Subject: [PATCH] [AVX512] Minor fix in lowering pattern for broadcast intrustions. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224122 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrAVX512.td | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index 26b71c32b97..5933e184400 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -3,9 +3,10 @@ // The idea is to pass one of these as the template argument rather than the // individual arguments. // The template is also used for scalar types, in this case numelts is 1. -class X86VectorVTInfo { RegisterClass RC = rc; + ValueType EltVT = eltvt; int NumElts = numelts; // Corresponding mask register class. @@ -656,20 +657,18 @@ let ExeDomain = SSEPackedDouble in { multiclass avx512_broadcast_pat { - def : Pat<(_.VT (OpNode (!cast(_.EltTypeName) SrcRC_s:$src))), + def : Pat<(_.VT (OpNode (_.EltVT SrcRC_s:$src))), (!cast(InstName##"r") (COPY_TO_REGCLASS SrcRC_s:$src, SrcRC_v))>; let AddedComplexity = 30 in { def : Pat<(_.VT (vselect _.KRCWM:$mask, - (OpNode (!cast(_.EltTypeName) SrcRC_s:$src)), - _.RC:$src0)), + (OpNode (_.EltVT SrcRC_s:$src)), _.RC:$src0)), (!cast(InstName##"rk") _.RC:$src0, _.KRCWM:$mask, (COPY_TO_REGCLASS SrcRC_s:$src, SrcRC_v))>; def : Pat<(_.VT(vselect _.KRCWM:$mask, - (OpNode (!cast(_.EltTypeName) SrcRC_s:$src)), - _.ImmAllZerosV)), + (OpNode (_.EltVT SrcRC_s:$src)), _.ImmAllZerosV)), (!cast(InstName##"rkz") _.KRCWM:$mask, (COPY_TO_REGCLASS SrcRC_s:$src, SrcRC_v))>; } -- 2.34.1