diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index c7126296c30..4930db9563d 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -79,6 +79,11 @@ class X86VectorVTInfo("v" # !srl(Size, 5) # "i32"); + dag ImmAllZerosV = (VT (bitconvert (i32VT immAllZerosV))); } def v64i8_info : X86VectorVTInfo<64, i8, VR512, "b">; @@ -171,9 +176,7 @@ multiclass AVX512_masking_common O, Format F, X86VectorVTInfo _, [(set _.RC:$dst, RHS)], [(set _.RC:$dst, MaskingRHS)], [(set _.RC:$dst, - (vselect _.KRCWM:$mask, RHS, - (_.VT (bitconvert - (v16i32 immAllZerosV)))))], + (vselect _.KRCWM:$mask, RHS, _.ImmAllZerosV))], MaskingConstraint, NoItinerary, IsCommutable>; // This multiclass generates the unconditional/non-masking, the masking and