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.