From dce110a604455e13932313ebca2f56d0cda5b943 Mon Sep 17 00:00:00 2001 From: Mary Guillemard Date: Mon, 16 Dec 2024 09:27:50 +0100 Subject: [PATCH] panfrost/util: Move print_alu_type and PAN_IS_REG to midgard Signed-off-by: Mary Guillemard Acked-by: Boris Brezillon Acked-by: Erik Faye-Lund Acked-by: Eric R. Smith Part-of: --- src/panfrost/midgard/compiler.h | 3 +++ src/panfrost/midgard/midgard_print.c | 31 ++++++++++++++++++++++++++-- src/panfrost/util/pan_ir.c | 29 -------------------------- src/panfrost/util/pan_ir.h | 6 ------ 4 files changed, 32 insertions(+), 37 deletions(-) diff --git a/src/panfrost/midgard/compiler.h b/src/panfrost/midgard/compiler.h index a3a79977d70..7bc285b07a5 100644 --- a/src/panfrost/midgard/compiler.h +++ b/src/panfrost/midgard/compiler.h @@ -447,6 +447,9 @@ make_compiler_temp(compiler_context *ctx) return (ctx->func->impl->ssa_alloc + ctx->temp_alloc++) << 1; } +/* IR indexing */ +#define PAN_IS_REG (1) + static inline unsigned make_compiler_temp_reg(compiler_context *ctx) { diff --git a/src/panfrost/midgard/midgard_print.c b/src/panfrost/midgard/midgard_print.c index 963c0ef2091..bd877873c37 100644 --- a/src/panfrost/midgard/midgard_print.c +++ b/src/panfrost/midgard/midgard_print.c @@ -152,13 +152,40 @@ mir_print_embedded_constant(const midgard_instruction *ins, unsigned src_idx) printf(")"); } +static void +mir_print_alu_type(nir_alu_type t, FILE *fp) +{ + unsigned size = nir_alu_type_get_type_size(t); + nir_alu_type base = nir_alu_type_get_base_type(t); + + switch (base) { + case nir_type_int: + fprintf(fp, ".i"); + break; + case nir_type_uint: + fprintf(fp, ".u"); + break; + case nir_type_bool: + fprintf(fp, ".b"); + break; + case nir_type_float: + fprintf(fp, ".f"); + break; + default: + fprintf(fp, ".unknown"); + break; + } + + fprintf(fp, "%u", size); +} + static void mir_print_src(const midgard_instruction *ins, unsigned c) { mir_print_index(ins->src[c]); if (ins->src[c] != ~0 && ins->src_types[c] != nir_type_invalid) { - pan_print_alu_type(ins->src_types[c], stdout); + mir_print_alu_type(ins->src_types[c], stdout); mir_print_swizzle(ins->mask, ins->swizzle[c]); } } @@ -260,7 +287,7 @@ mir_print_instruction(const midgard_instruction *ins) mir_print_index(ins->dest); if (ins->dest != ~0) { - pan_print_alu_type(ins->dest_type, stdout); + mir_print_alu_type(ins->dest_type, stdout); mir_print_mask(ins->mask); } diff --git a/src/panfrost/util/pan_ir.c b/src/panfrost/util/pan_ir.c index 8524e08bc84..726cc4dcd78 100644 --- a/src/panfrost/util/pan_ir.c +++ b/src/panfrost/util/pan_ir.c @@ -94,35 +94,6 @@ pan_block_add_successor(pan_block *block, pan_block *successor) unreachable("Too many successors"); } -/* Prints a NIR ALU type in Bifrost-style ".f32" ".i8" etc */ - -void -pan_print_alu_type(nir_alu_type t, FILE *fp) -{ - unsigned size = nir_alu_type_get_type_size(t); - nir_alu_type base = nir_alu_type_get_base_type(t); - - switch (base) { - case nir_type_int: - fprintf(fp, ".i"); - break; - case nir_type_uint: - fprintf(fp, ".u"); - break; - case nir_type_bool: - fprintf(fp, ".b"); - break; - case nir_type_float: - fprintf(fp, ".f"); - break; - default: - fprintf(fp, ".unknown"); - break; - } - - fprintf(fp, "%u", size); -} - /* Could optimize with a better data structure if anyone cares, TODO: profile */ unsigned diff --git a/src/panfrost/util/pan_ir.h b/src/panfrost/util/pan_ir.h index ab2d693ec62..57f63c7f80a 100644 --- a/src/panfrost/util/pan_ir.h +++ b/src/panfrost/util/pan_ir.h @@ -373,12 +373,6 @@ uint16_t pan_to_bytemask(unsigned bytes, unsigned mask); void pan_block_add_successor(pan_block *block, pan_block *successor); -/* IR indexing */ -#define PAN_IS_REG (1) - -/* IR printing helpers */ -void pan_print_alu_type(nir_alu_type t, FILE *fp); - /* NIR passes to do some backend-specific lowering */ #define PAN_WRITEOUT_C 1