@@ -282,75 +282,75 @@ static LegalityPredicate elementTypeIsLegal(unsigned TypeIdx) {
282282 };
283283}
284284
285- static const LLT S1 = LLT::scalar(1 );
286- static const LLT S8 = LLT::scalar(8 );
287- static const LLT S16 = LLT::scalar(16 );
288- static const LLT S32 = LLT::scalar(32 );
289- static const LLT F32 = LLT::float32();
290- static const LLT S64 = LLT::scalar(64 );
291- static const LLT F64 = LLT::float64();
292- static const LLT S96 = LLT::scalar(96 );
293- static const LLT S128 = LLT::scalar(128 );
294- static const LLT S160 = LLT::scalar(160 );
295- static const LLT S192 = LLT::scalar(192 );
296- static const LLT S224 = LLT::scalar(224 );
297- static const LLT S256 = LLT::scalar(256 );
298- static const LLT S512 = LLT::scalar(512 );
299- static const LLT S1024 = LLT::scalar(1024 );
300- static const LLT MaxScalar = LLT::scalar(MaxRegisterSize);
301-
302- static const LLT V2S8 = LLT::fixed_vector(2 , 8 );
303- static const LLT V2S16 = LLT::fixed_vector(2 , 16 );
304- static const LLT V4S16 = LLT::fixed_vector(4 , 16 );
305- static const LLT V6S16 = LLT::fixed_vector(6 , 16 );
306- static const LLT V8S16 = LLT::fixed_vector(8 , 16 );
307- static const LLT V10S16 = LLT::fixed_vector(10 , 16 );
308- static const LLT V12S16 = LLT::fixed_vector(12 , 16 );
309- static const LLT V16S16 = LLT::fixed_vector(16 , 16 );
310-
311- static const LLT V2F16 = LLT::fixed_vector(2 , LLT::float16());
312- static const LLT V2BF16 = V2F16; // FIXME
313-
314- static const LLT V2S32 = LLT::fixed_vector(2 , 32 );
315- static const LLT V3S32 = LLT::fixed_vector(3 , 32 );
316- static const LLT V4S32 = LLT::fixed_vector(4 , 32 );
317- static const LLT V5S32 = LLT::fixed_vector(5 , 32 );
318- static const LLT V6S32 = LLT::fixed_vector(6 , 32 );
319- static const LLT V7S32 = LLT::fixed_vector(7 , 32 );
320- static const LLT V8S32 = LLT::fixed_vector(8 , 32 );
321- static const LLT V9S32 = LLT::fixed_vector(9 , 32 );
322- static const LLT V10S32 = LLT::fixed_vector(10 , 32 );
323- static const LLT V11S32 = LLT::fixed_vector(11 , 32 );
324- static const LLT V12S32 = LLT::fixed_vector(12 , 32 );
325- static const LLT V16S32 = LLT::fixed_vector(16 , 32 );
326- static const LLT V32S32 = LLT::fixed_vector(32 , 32 );
327-
328- static const LLT V2S64 = LLT::fixed_vector(2 , 64 );
329- static const LLT V3S64 = LLT::fixed_vector(3 , 64 );
330- static const LLT V4S64 = LLT::fixed_vector(4 , 64 );
331- static const LLT V5S64 = LLT::fixed_vector(5 , 64 );
332- static const LLT V6S64 = LLT::fixed_vector(6 , 64 );
333- static const LLT V7S64 = LLT::fixed_vector(7 , 64 );
334- static const LLT V8S64 = LLT::fixed_vector(8 , 64 );
335- static const LLT V16S64 = LLT::fixed_vector(16 , 64 );
336-
337- static const LLT V2S128 = LLT::fixed_vector(2 , 128 );
338- static const LLT V4S128 = LLT::fixed_vector(4 , 128 );
339-
340- static std::initializer_list<LLT> AllScalarTypes = {
285+ constexpr LLT S1 = LLT::scalar(1 );
286+ constexpr LLT S8 = LLT::scalar(8 );
287+ constexpr LLT S16 = LLT::scalar(16 );
288+ constexpr LLT S32 = LLT::scalar(32 );
289+ constexpr LLT F32 = LLT::float32();
290+ constexpr LLT S64 = LLT::scalar(64 );
291+ constexpr LLT F64 = LLT::float64();
292+ constexpr LLT S96 = LLT::scalar(96 );
293+ constexpr LLT S128 = LLT::scalar(128 );
294+ constexpr LLT S160 = LLT::scalar(160 );
295+ constexpr LLT S192 = LLT::scalar(192 );
296+ constexpr LLT S224 = LLT::scalar(224 );
297+ constexpr LLT S256 = LLT::scalar(256 );
298+ constexpr LLT S512 = LLT::scalar(512 );
299+ constexpr LLT S1024 = LLT::scalar(1024 );
300+ constexpr LLT MaxScalar = LLT::scalar(MaxRegisterSize);
301+
302+ constexpr LLT V2S8 = LLT::fixed_vector(2 , 8 );
303+ constexpr LLT V2S16 = LLT::fixed_vector(2 , 16 );
304+ constexpr LLT V4S16 = LLT::fixed_vector(4 , 16 );
305+ constexpr LLT V6S16 = LLT::fixed_vector(6 , 16 );
306+ constexpr LLT V8S16 = LLT::fixed_vector(8 , 16 );
307+ constexpr LLT V10S16 = LLT::fixed_vector(10 , 16 );
308+ constexpr LLT V12S16 = LLT::fixed_vector(12 , 16 );
309+ constexpr LLT V16S16 = LLT::fixed_vector(16 , 16 );
310+
311+ constexpr LLT V2F16 = LLT::fixed_vector(2 , LLT::float16());
312+ constexpr LLT V2BF16 = V2F16; // FIXME
313+
314+ constexpr LLT V2S32 = LLT::fixed_vector(2 , 32 );
315+ constexpr LLT V3S32 = LLT::fixed_vector(3 , 32 );
316+ constexpr LLT V4S32 = LLT::fixed_vector(4 , 32 );
317+ constexpr LLT V5S32 = LLT::fixed_vector(5 , 32 );
318+ constexpr LLT V6S32 = LLT::fixed_vector(6 , 32 );
319+ constexpr LLT V7S32 = LLT::fixed_vector(7 , 32 );
320+ constexpr LLT V8S32 = LLT::fixed_vector(8 , 32 );
321+ constexpr LLT V9S32 = LLT::fixed_vector(9 , 32 );
322+ constexpr LLT V10S32 = LLT::fixed_vector(10 , 32 );
323+ constexpr LLT V11S32 = LLT::fixed_vector(11 , 32 );
324+ constexpr LLT V12S32 = LLT::fixed_vector(12 , 32 );
325+ constexpr LLT V16S32 = LLT::fixed_vector(16 , 32 );
326+ constexpr LLT V32S32 = LLT::fixed_vector(32 , 32 );
327+
328+ constexpr LLT V2S64 = LLT::fixed_vector(2 , 64 );
329+ constexpr LLT V3S64 = LLT::fixed_vector(3 , 64 );
330+ constexpr LLT V4S64 = LLT::fixed_vector(4 , 64 );
331+ constexpr LLT V5S64 = LLT::fixed_vector(5 , 64 );
332+ constexpr LLT V6S64 = LLT::fixed_vector(6 , 64 );
333+ constexpr LLT V7S64 = LLT::fixed_vector(7 , 64 );
334+ constexpr LLT V8S64 = LLT::fixed_vector(8 , 64 );
335+ constexpr LLT V16S64 = LLT::fixed_vector(16 , 64 );
336+
337+ constexpr LLT V2S128 = LLT::fixed_vector(2 , 128 );
338+ constexpr LLT V4S128 = LLT::fixed_vector(4 , 128 );
339+
340+ constexpr std::initializer_list<LLT> AllScalarTypes = {
341341 S32, S64, S96, S128, S160, S192, S224, S256, S512, S1024};
342342
343- static std::initializer_list<LLT> AllS16Vectors{
343+ constexpr std::initializer_list<LLT> AllS16Vectors{
344344 V2S16, V4S16, V6S16, V8S16, V10S16, V12S16, V16S16, V2S128, V4S128};
345345
346- static std::initializer_list<LLT> AllS32Vectors = {
346+ constexpr std::initializer_list<LLT> AllS32Vectors = {
347347 V2S32, V3S32, V4S32, V5S32, V6S32, V7S32, V8S32,
348348 V9S32, V10S32, V11S32, V12S32, V16S32, V32S32};
349349
350- static std::initializer_list<LLT> AllS64Vectors = {V2S64, V3S64, V4S64, V5S64,
351- V6S64, V7S64, V8S64, V16S64};
350+ constexpr std::initializer_list<LLT> AllS64Vectors = {
351+ V2S64, V3S64, V4S64, V5S64, V6S64, V7S64, V8S64, V16S64};
352352
353- static std::initializer_list<LLT> AllVectors{
353+ constexpr std::initializer_list<LLT> AllVectors{
354354 V2S16, V4S16, V6S16, V8S16, V10S16, V12S16, V16S16, V2S128,
355355 V4S128, V2S32, V3S32, V4S32, V5S32, V6S32, V7S32, V8S32,
356356 V9S32, V10S32, V11S32, V12S32, V16S32, V32S32, V2S64, V3S64,
0 commit comments