From 5546d1958b78ba9d933606960a888b62edbf8d01 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 14 Apr 2020 13:14:51 -0400 Subject: [PATCH] pan/bit: Add BI_REDUCE_FMA interp Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/test/bi_interpret.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/panfrost/bifrost/test/bi_interpret.c b/src/panfrost/bifrost/test/bi_interpret.c index 53c3d983eb1..92f5865e48b 100644 --- a/src/panfrost/bifrost/test/bi_interpret.c +++ b/src/panfrost/bifrost/test/bi_interpret.c @@ -472,6 +472,21 @@ bit_step(struct bit_state *s, bi_instruction *ins, bool FMA) case BI_MOV: bpoly(mov); + case BI_REDUCE_FMA: { + if (ins->src_types[0] != nir_type_float32) + unreachable("Unknown reduce type"); + + if (ins->op.reduce == BI_REDUCE_ADD_FREXPM) { + int _nop = 0; + float f = frexp_log(srcs[1].f32, &_nop); + dest.f32 = srcs[0].f32 + f; + } else { + unreachable("Unknown reduce"); + } + + break; + } + case BI_SPECIAL: { assert(nir_alu_type_get_base_type(ins->dest_type) == nir_type_float); assert(nir_alu_type_get_base_type(ins->dest_type) != nir_type_float64); -- 2.30.2