@@ -255,6 +255,12 @@ main (int argc, const char **argv)
255255 fprintf (fp, " /*SHIFT*/ INVALID,\n " );
256256 fprintf (fp, " /*DOUBLE_TRUNC*/ INVALID,\n " );
257257 fprintf (fp, " /*QUAD_TRUNC*/ INVALID,\n " );
258+ fprintf (fp, " /*QUAD_EMUL*/ INVALID,\n " );
259+ fprintf (fp, " /*QUAD_EMUL_SIGNED*/ INVALID,\n " );
260+ fprintf (fp, " /*QUAD_EMUL_UNSIGNED*/ INVALID,\n " );
261+ fprintf (fp, " /*QUAD_FIX*/ INVALID,\n " );
262+ fprintf (fp, " /*QUAD_FIX_SIGNED*/ INVALID,\n " );
263+ fprintf (fp, " /*QUAD_FIX_UNSIGNED*/ INVALID,\n " );
258264 fprintf (fp, " /*OCT_TRUNC*/ INVALID,\n " );
259265 fprintf (fp, " /*DOUBLE_TRUNC_SCALAR*/ INVALID,\n " );
260266 fprintf (fp, " /*DOUBLE_TRUNC_SIGNED*/ INVALID,\n " );
@@ -266,6 +272,9 @@ main (int argc, const char **argv)
266272 fprintf (fp, " /*FLOAT*/ INVALID,\n " );
267273 fprintf (fp, " /*LMUL1*/ INVALID,\n " );
268274 fprintf (fp, " /*WLMUL1*/ INVALID,\n " );
275+ fprintf (fp, " /*QLMUL1*/ INVALID,\n " );
276+ fprintf (fp, " /*QLMUL1_SIGNED*/ INVALID,\n " );
277+ fprintf (fp, " /*QLMUL1_UNSIGNED*/ INVALID,\n " );
269278 for (unsigned eew : {8 , 16 , 32 , 64 })
270279 fprintf (fp, " /*EEW%d_INTERPRET*/ INVALID,\n " , eew);
271280
@@ -322,6 +331,18 @@ main (int argc, const char **argv)
322331 same_ratio_eew_type (sew, lmul_log2, sew / 4 , unsigned_p,
323332 false )
324333 .c_str ());
334+ fprintf (fp, " /*QUAD_EMUL*/ %s,\n " ,
335+ inttype (8 , lmul_log2 - 1 , unsigned_p).c_str ());
336+ fprintf (fp, " /*QUAD_EMUL_SIGNED*/ %s,\n " ,
337+ inttype (8 , lmul_log2 - 1 , false ).c_str ());
338+ fprintf (fp, " /*QUAD_EMUL_UNSIGNED*/ %s,\n " ,
339+ inttype (8 , lmul_log2 - 1 , true ).c_str ());
340+ fprintf (fp, " /*QUAD_FIX*/ %s,\n " ,
341+ inttype (8 , lmul_log2, unsigned_p).c_str ());
342+ fprintf (fp, " /*QUAD_FIX_SIGNED*/ %s,\n " ,
343+ inttype (8 , lmul_log2, false ).c_str ());
344+ fprintf (fp, " /*QUAD_FIX_UNSIGNED*/ %s,\n " ,
345+ inttype (8 , lmul_log2, true ).c_str ());
325346 fprintf (fp, " /*OCT_TRUNC*/ %s,\n " ,
326347 same_ratio_eew_type (sew, lmul_log2, sew / 8 , unsigned_p,
327348 false )
@@ -352,6 +373,12 @@ main (int argc, const char **argv)
352373 inttype (sew, /* lmul_log2*/ 0 , unsigned_p).c_str ());
353374 fprintf (fp, " /*WLMUL1*/ %s,\n " ,
354375 inttype (sew * 2 , /* lmul_log2*/ 0 , unsigned_p).c_str ());
376+ fprintf (fp, " /*QLMUL1*/ %s,\n " ,
377+ inttype (8 , /* lmul_log2*/ 0 , unsigned_p).c_str ());
378+ fprintf (fp, " /*QLMUL1_SIGNED*/ %s,\n " ,
379+ inttype (8 , /* lmul_log2*/ 0 , false ).c_str ());
380+ fprintf (fp, " /*QLMUL1_UNSIGNED*/ %s,\n " ,
381+ inttype (8 , /* lmul_log2*/ 0 , true ).c_str ());
355382 for (unsigned eew : {8 , 16 , 32 , 64 })
356383 {
357384 if (eew == sew)
@@ -413,6 +440,12 @@ main (int argc, const char **argv)
413440 fprintf (fp, " /*DOUBLE_TRUNC*/ %s,\n " ,
414441 same_ratio_eew_type (16 , lmul_log2, 8 , false , true ).c_str ());
415442 fprintf (fp, " /*QUAD_TRUNC*/ INVALID,\n " );
443+ fprintf (fp, " /*QUAD_EMUL*/ INVALID,\n " );
444+ fprintf (fp, " /*QUAD_EMUL_SIGNED*/ INVALID,\n " );
445+ fprintf (fp, " /*QUAD_EMUL_UNSIGNED*/ INVALID,\n " );
446+ fprintf (fp, " /*QUAD_FIX*/ INVALID,\n " );
447+ fprintf (fp, " /*QUAD_FIX_SIGNED*/ INVALID,\n " );
448+ fprintf (fp, " /*QUAD_FIX_UNSIGNED*/ INVALID,\n " );
416449 fprintf (fp, " /*OCT_TRUNC*/ INVALID,\n " );
417450 fprintf (fp, " /*DOUBLE_TRUNC_SCALAR*/ %s,\n " ,
418451 same_ratio_eew_type (16 , lmul_log2, 8 , false , true ).c_str ());
@@ -430,6 +463,10 @@ main (int argc, const char **argv)
430463 bfloat16_type (/* lmul_log2*/ 0 ).c_str ());
431464 fprintf (fp, " /*WLMUL1*/ %s,\n " ,
432465 bfloat16_wide_type (/* lmul_log2*/ 0 ).c_str ());
466+ fprintf (fp, " /*QLMUL1*/ %s,\n " ,
467+ bfloat16_wide_type (/* lmul_log2*/ 0 ).c_str ());
468+ fprintf (fp, " /*QLMUL1_SIGNED*/ INVALID,\n " );
469+ fprintf (fp, " /*QLMUL1_UNSIGNED*/ INVALID,\n " );
433470 for (unsigned eew : {8 , 16 , 32 , 64 })
434471 fprintf (fp, " /*EEW%d_INTERPRET*/ INVALID,\n " , eew);
435472
@@ -478,6 +515,12 @@ main (int argc, const char **argv)
478515 same_ratio_eew_type (sew, lmul_log2, sew / 2 , false , true )
479516 .c_str ());
480517 fprintf (fp, " /*QUAD_TRUNC*/ INVALID,\n " );
518+ fprintf (fp, " /*QUAD_EMUL*/ INVALID,\n " );
519+ fprintf (fp, " /*QUAD_EMUL_SIGNED*/ INVALID,\n " );
520+ fprintf (fp, " /*QUAD_EMUL_UNSIGNED*/ INVALID,\n " );
521+ fprintf (fp, " /*QUAD_FIX*/ INVALID,\n " );
522+ fprintf (fp, " /*QUAD_FIX_SIGNED*/ INVALID,\n " );
523+ fprintf (fp, " /*QUAD_FIX_UNSIGNED*/ INVALID,\n " );
481524 fprintf (fp, " /*OCT_TRUNC*/ INVALID,\n " );
482525 fprintf (fp, " /*DOUBLE_TRUNC_SCALAR*/ %s,\n " ,
483526 same_ratio_eew_type (sew, lmul_log2, sew / 2 , false , true )
@@ -501,6 +544,10 @@ main (int argc, const char **argv)
501544 floattype (sew, /* lmul_log2*/ 0 ).c_str ());
502545 fprintf (fp, " /*WLMUL1*/ %s,\n " ,
503546 floattype (sew * 2 , /* lmul_log2*/ 0 ).c_str ());
547+ fprintf (fp, " /*QLMUL1*/ %s,\n " ,
548+ floattype (sew / 4 , /* lmul_log2*/ 0 ).c_str ());
549+ fprintf (fp, " /*QLMUL1_SIGNED*/ INVALID,\n " );
550+ fprintf (fp, " /*QLMUL1_UNSIGNED*/ INVALID,\n " );
504551 for (unsigned eew : {8 , 16 , 32 , 64 })
505552 fprintf (fp, " /*EEW%d_INTERPRET*/ INVALID,\n " , eew);
506553
0 commit comments