From aad0aa0a9cdb00a9dbe63768866384f50ceb9f86 Mon Sep 17 00:00:00 2001 From: Karmjit Mahil Date: Wed, 20 Nov 2024 15:22:28 +0100 Subject: [PATCH] nir/algebraic: turn `u{ge,lt} a, 1` to `i{ne,eq} a, 0` Signed-off-by: Karmjit Mahil Reviewed-by: Connor Abbott Part-of: --- src/compiler/nir/nir_opt_algebraic.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index ac683671764..e132bc5b210 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -1268,6 +1268,9 @@ optimizations.extend([ (('ior', ('uge', 2, a), ('ieq', a, 3)), ('uge', 3, a)), (('ior', a, ('ieq', a, False)), True), + (('uge', a, 1), ('ine', a, 0)), + (('ult', a, 1), ('ieq', a, 0)), + (('ine', ('ineg', ('b2i', 'a@1')), ('ineg', ('b2i', 'b@1'))), ('ine', a, b)), (('b2i', ('ine', 'a@1', 'b@1')), ('b2i', ('ixor', a, b))),