@@ -93,21 +93,19 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
9393 .legalFor ({p0, s1, s8, s16, s32, s64})
9494 .legalFor (Is64Bit, {s128})
9595 .legalFor (HasSSE2, {v16s8, v8s16, v4s32, v2s64})
96- .legalFor (HasAVX, {v8s32, v4s64})
97- .legalFor (HasAVX2, {v32s8, v16s16, v8s32, v4s64})
98- .legalFor (HasAVX512, {v16s32, v8s64})
99- .legalFor (HasBWI, {v64s8, v32s16})
96+ .legalFor (HasAVX, {v32s8, v16s16, v8s32, v4s64})
97+ .legalFor (HasAVX512, {v64s8, v32s16, v16s32, v8s64})
10098 .widenScalarOrEltToNextPow2 (0 , /* Min=*/ 8 )
10199 .clampScalarOrElt (0 , s8, sMaxScalar )
102100 .moreElementsToNextPow2 (0 )
103101 .clampMinNumElements (0 , s8, 16 )
104102 .clampMinNumElements (0 , s16, 8 )
105103 .clampMinNumElements (0 , s32, 4 )
106104 .clampMinNumElements (0 , s64, 2 )
107- .clampMaxNumElements (0 , s8, HasBWI ? 64 : (HasAVX2 ? 32 : 16 ))
108- .clampMaxNumElements (0 , s16, HasBWI ? 32 : (HasAVX2 ? 16 : 8 ))
109- .clampMaxNumElements (0 , s32, HasAVX512 ? 16 : (HasAVX2 ? 8 : 4 ))
110- .clampMaxNumElements (0 , s64, HasAVX512 ? 8 : (HasAVX2 ? 4 : 2 ))
105+ .clampMaxNumElements (0 , s8, HasAVX512 ? 64 : (HasAVX ? 32 : 16 ))
106+ .clampMaxNumElements (0 , s16, HasAVX512 ? 32 : (HasAVX ? 16 : 8 ))
107+ .clampMaxNumElements (0 , s32, HasAVX512 ? 16 : (HasAVX ? 8 : 4 ))
108+ .clampMaxNumElements (0 , s64, HasAVX512 ? 8 : (HasAVX ? 4 : 2 ))
111109 .clampMaxNumElements (0 , p0,
112110 Is64Bit ? s64MaxVector.getNumElements ()
113111 : s32MaxVector.getNumElements ())
0 commit comments