pan/bi: Add CSEL.16 packing tests
[mesa.git] / src / panfrost / bifrost / bi_special.c
index 54909093d8fc485dd12cb83fe49be6412fa78909..4cb9e15163141d521f7f67a834317a1ce21eceab 100644 (file)
@@ -42,9 +42,8 @@ bi_emit_fexp2_new(bi_context *ctx, nir_alu_instr *instr)
                 .op = { .mscale = true },
                 .dest = bi_make_temp(ctx),
                 .dest_type = nir_type_float32,
-                .writemask = 0xF,
                 .src = {
-                        bir_src_index(&instr->src[0].src),
+                        pan_src_index(&instr->src[0].src),
                         BIR_INDEX_CONSTANT | 0,
                         BIR_INDEX_ZERO,
                         BIR_INDEX_CONSTANT | 32,
@@ -68,7 +67,6 @@ bi_emit_fexp2_new(bi_context *ctx, nir_alu_instr *instr)
                 .type = BI_CONVERT,
                 .dest = bi_make_temp(ctx),
                 .dest_type = nir_type_int32,
-                .writemask = 0xF,
                 .src = { mscale.dest },
                 .src_types = { nir_type_float32 },
                 .roundmode = BIFROST_RTE
@@ -79,9 +77,8 @@ bi_emit_fexp2_new(bi_context *ctx, nir_alu_instr *instr)
         bi_instruction fexp = {
                 .type = BI_SPECIAL,
                 .op = { .special = BI_SPECIAL_EXP2_LOW },
-                .dest = bir_dest_index(&instr->dest.dest),
+                .dest = pan_dest_index(&instr->dest.dest),
                 .dest_type = nir_type_float32,
-                .writemask = 0xF,
                 .src = { f2i.dest, mscale.src[0] },
                 .src_types = { nir_type_int32, nir_type_float32 },
         };
@@ -102,8 +99,7 @@ bi_emit_flog2_new(bi_context *ctx, nir_alu_instr *instr)
                 .op = { .frexp = BI_FREXPE_LOG },
                 .dest = bi_make_temp(ctx),
                 .dest_type = nir_type_int32,
-                .writemask = 0xF,
-                .src = { bir_src_index(&instr->src[0].src) },
+                .src = { pan_src_index(&instr->src[0].src) },
                 .src_types = { nir_type_float32 }
         };
 
@@ -112,7 +108,6 @@ bi_emit_flog2_new(bi_context *ctx, nir_alu_instr *instr)
                 .type = BI_CONVERT,
                 .dest = bi_make_temp(ctx),
                 .dest_type = nir_type_float32,
-                .writemask = 0xF,
                 .src = { frexpe.dest },
                 .src_types = { nir_type_int32 },
                 .roundmode = BIFROST_RTZ
@@ -124,10 +119,9 @@ bi_emit_flog2_new(bi_context *ctx, nir_alu_instr *instr)
                 .op = { .reduce = BI_REDUCE_ADD_FREXPM },
                 .dest = bi_make_temp(ctx),
                 .dest_type = nir_type_float32,
-                .writemask = 0xF,
                 .src = {
                         BIR_INDEX_CONSTANT,
-                        bir_src_index(&instr->src[0].src),
+                        pan_src_index(&instr->src[0].src),
                 },
                 .src_types = { nir_type_float32, nir_type_float32 },
                 .constant = {
@@ -141,17 +135,15 @@ bi_emit_flog2_new(bi_context *ctx, nir_alu_instr *instr)
                 .op = { .table = BI_TABLE_LOG2_U_OVER_U_1_LOW },
                 .dest = bi_make_temp(ctx),
                 .dest_type = nir_type_float32,
-                .writemask = 0xF,
-                .src = { bir_src_index(&instr->src[0].src) },
+                .src = { pan_src_index(&instr->src[0].src) },
                 .src_types = { nir_type_float32 },
         };
 
         /* FMA log2(x)/(x - 1), (x - 1), M */
         bi_instruction fma = {
                 .type = BI_FMA,
-                .dest = bir_dest_index(&instr->dest.dest),
+                .dest = pan_dest_index(&instr->dest.dest),
                 .dest_type = nir_type_float32,
-                .writemask = 0xF,
                 .src = {
                         help.dest,
                         x_minus_1.dest,