agx: Lower f2u8/f2i8
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Fri, 11 Aug 2023 13:58:33 +0000 (09:58 -0400)
committerMarge Bot <emma+marge@anholt.net>
Fri, 11 Aug 2023 20:31:28 +0000 (20:31 +0000)
The less 8-bit we need to emulate in the backend the better.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24635>

src/asahi/compiler/agx_nir_algebraic.py

index 639cba5..9fd4a40 100644 (file)
@@ -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.