From fa2a7cb2a8779e70a944bd328edc0813055da255 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 11 Aug 2023 09:58:33 -0400 Subject: [PATCH] agx: Lower f2u8/f2i8 The less 8-bit we need to emulate in the backend the better. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/compiler/agx_nir_algebraic.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/asahi/compiler/agx_nir_algebraic.py b/src/asahi/compiler/agx_nir_algebraic.py index 639cba5fd07..9fd4a4003d4 100644 --- a/src/asahi/compiler/agx_nir_algebraic.py +++ b/src/asahi/compiler/agx_nir_algebraic.py @@ -39,6 +39,10 @@ lower_pack = [ (('u2f32', ('u2u32', a)), ('u2f32', a)), (('i2f32', ('i2i32', a)), ('i2f32', a)), + # Chew through some 8-bit before the backend has to deal with it + (('f2u8', a), ('u2u8', ('f2u16', a))), + (('f2i8', a), ('i2i8', ('f2i16', a))), + # These are based on the lowerings from nir_opt_algebraic, but conditioned # on the number of bits not being constant. If the bit count is constant # (the happy path) we can use our native instruction instead.