nir: Turn bcsel of +/- 1.0 and 0.0 into b2f sequences.
On BDW:
total instructions in shared programs:
13074882 ->
13068703 (-0.05%)
instructions in affected programs:
1823116 ->
1816937 (-0.34%)
helped: 4187
HURT: 537
total cycles in shared programs:
256622718 ->
256425382 (-0.08%)
cycles in affected programs:
123790120 ->
123592784 (-0.16%)
helped: 3823
HURT: 2037
total spills in shared programs: 15276 -> 14929 (-2.27%)
spills in affected programs: 9446 -> 9099 (-3.67%)
helped: 352
HURT: 1
total fills in shared programs: 20496 -> 20144 (-1.72%)
fills in affected programs: 13040 -> 12688 (-2.70%)
helped: 352
HURT: 1
LOST: 2
GAINED: 21
v2: Rely on 'a' being a well-formed boolean (Connor, Eric).
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>