From 1c45b58cebebf7f21035b22a98af8829fc002db0 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 14 Apr 2020 13:19:13 -0400 Subject: [PATCH] pan/bit: Add FMA_REDUCE test Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/test/bi_test_pack.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/panfrost/bifrost/test/bi_test_pack.c b/src/panfrost/bifrost/test/bi_test_pack.c index 9d4b6fe723a..b68d10a07c9 100644 --- a/src/panfrost/bifrost/test/bi_test_pack.c +++ b/src/panfrost/bifrost/test/bi_test_pack.c @@ -302,6 +302,21 @@ bit_frexp_helper(struct panfrost_device *dev, uint32_t *input, enum bit_debug de } } +static void +bit_reduce_helper(struct panfrost_device *dev, uint32_t *input, enum bit_debug debug) +{ + bi_instruction ins = bit_ins(BI_REDUCE_FMA, 2, nir_type_float, 32); + + for (enum bi_reduce_op op = 0; op <= BI_REDUCE_ADD_FREXPM; ++op) { + ins.op.reduce = op; + + if (!bit_test_single(dev, &ins, input, true, debug)) { + fprintf(stderr, "FAIL: reduce.%s\n", + bi_reduce_op_name(op)); + } + } +} + static void bit_convert_helper(struct panfrost_device *dev, unsigned from_size, unsigned to_size, unsigned cx, unsigned cy, bool FMA, @@ -406,4 +421,5 @@ bit_packing(struct panfrost_device *dev, enum bit_debug debug) } bit_frexp_helper(dev, (uint32_t *) input32, debug); + bit_reduce_helper(dev, (uint32_t *) input32, debug); } -- 2.30.2