From: Alyssa Rosenzweig Date: Mon, 6 Apr 2020 17:08:44 +0000 (-0400) Subject: pan/bit: Add min/max support to interpreter X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e0f7f110cbf9a39325cf7c2361a611fd8c870b3;p=mesa.git pan/bit: Add min/max support to interpreter Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/panfrost/bifrost/test/bi_interpret.c b/src/panfrost/bifrost/test/bi_interpret.c index b6807f55456..f0068398df4 100644 --- a/src/panfrost/bifrost/test/bi_interpret.c +++ b/src/panfrost/bifrost/test/bi_interpret.c @@ -184,6 +184,8 @@ bit_write(struct bit_state *s, unsigned index, nir_alu_type T, bit_t value, bool bit_make_poly(add, a + b); bit_make_float(fma, (a * b) + c); bit_make_poly(mov, a); +bit_make_poly(min, MIN2(a, b)); +bit_make_poly(max, MAX2(a, b)); /* Modifiers */ @@ -317,9 +319,16 @@ bit_step(struct bit_state *s, bi_instruction *ins, bool FMA) case BI_FREXP: case BI_ISUB: - case BI_MINMAX: unreachable("Unsupported op"); + case BI_MINMAX: { + if (ins->op.minmax == BI_MINMAX_MIN) { + bpoly(min); + } else { + bpoly(max); + } + } + case BI_MOV: bpoly(mov);