From c05860789a858778d1cfcb5e8dec1168b1114cb0 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 17 Apr 2020 15:52:18 -0400 Subject: [PATCH] pan/bi: Lower special ops to 32-bit We don't have 16-bit tables. We could probably do a bit better to avoid so many conversions but hey. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bifrost_nir_algebraic.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/panfrost/bifrost/bifrost_nir_algebraic.py b/src/panfrost/bifrost/bifrost_nir_algebraic.py index ca89ce29f37..5e2c65c68ac 100644 --- a/src/panfrost/bifrost/bifrost_nir_algebraic.py +++ b/src/panfrost/bifrost/bifrost_nir_algebraic.py @@ -80,6 +80,12 @@ for op in ('u2u', 'i2i', 'f2f', 'i2f', 'u2f', 'f2i', 'f2u'): srcsz *= 2 dstsz *= 2 +# Bifrost doesn't have fp16 for a lot of special ops +SPECIAL = ['fexp2', 'flog2', 'fsin', 'fcos'] + +for op in SPECIAL: + converts += [((op + '@16', a), ('f2f16', (op, ('f2f32', a))))] + def main(): parser = argparse.ArgumentParser() parser.add_argument('-p', '--import-path', required=True) -- 2.30.2