diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index 24b69bdd82e..4a350bee129 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -888,8 +888,12 @@ optimizations.extend([ (('bcsel', a, b, a), ('iand', a, b)), (('bcsel', a, b, True), ('ior', ('inot', a), b)), (('bcsel', a, False, b), ('iand', ('inot', a), b)), - (('~fmin', a, a), a), - (('~fmax', a, a), a), + (('fmin', 'a@64', a), a, '!nir_is_denorm_flush_to_zero(info->float_controls_execution_mode, 64)'), + (('fmin', 'a@32', a), a, '!nir_is_denorm_flush_to_zero(info->float_controls_execution_mode, 32)'), + (('fmin', 'a@16', a), a, '!nir_is_denorm_flush_to_zero(info->float_controls_execution_mode, 16)'), + (('fmax', 'a@64', a), a, '!nir_is_denorm_flush_to_zero(info->float_controls_execution_mode, 64)'), + (('fmax', 'a@32', a), a, '!nir_is_denorm_flush_to_zero(info->float_controls_execution_mode, 32)'), + (('fmax', 'a@16', a), a, '!nir_is_denorm_flush_to_zero(info->float_controls_execution_mode, 16)'), (('imin', a, a), a), (('imax', a, a), a), (('umin', a, a), a),