nir/algebraic: Optimize fabs(u2f(x))
I noticed this when I tried to do frexp(float(some_unsigned)) in the ir_unop_find_lsb lowering pass. The code generated for frexp() uses fabs, and this resulted in an extra instruction. Ultimately I ended up not using frexp. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
94296be276
commit
0b626d7524
|
@ -75,6 +75,7 @@ optimizations = [
|
|||
(('ineg', ('ineg', a)), a),
|
||||
(('fabs', ('fabs', a)), ('fabs', a)),
|
||||
(('fabs', ('fneg', a)), ('fabs', a)),
|
||||
(('fabs', ('u2f', a)), ('u2f', a)),
|
||||
(('iabs', ('iabs', a)), ('iabs', a)),
|
||||
(('iabs', ('ineg', a)), ('iabs', a)),
|
||||
(('~fadd', a, 0.0), a),
|
||||
|
|
Loading…
Reference in New Issue