nir: add unsigned comparison simplifications
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 30 May 2018 10:32:24 +0000 (20:32 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Wed, 30 May 2018 12:48:37 +0000 (22:48 +1000)
This avoids loop unrolling regressions in Wolfenstein II on DXVK
with an upcoming optimisation series from Samuel.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/compiler/nir/nir_opt_algebraic.py

index 909ea3daf428c362357e0d0fe7be14f3359b0d5f..21b9acecbe2f4993663cfb250753afa1bbe34d3a 100644 (file)
@@ -149,7 +149,9 @@ optimizations = [
    (('~inot', ('feq', a, b)), ('fne', a, b)),
    (('~inot', ('fne', a, b)), ('feq', a, b)),
    (('inot', ('ilt', a, b)), ('ige', a, b)),
+   (('inot', ('ult', a, b)), ('uge', a, b)),
    (('inot', ('ige', a, b)), ('ilt', a, b)),
+   (('inot', ('uge', a, b)), ('ult', a, b)),
    (('inot', ('ieq', a, b)), ('ine', a, b)),
    (('inot', ('ine', a, b)), ('ieq', a, b)),