match.pd: Improve conditional_replacement for x ? 0 : -1 [PR796232]
As mentioned in the PR, for boolean x we currently optimize
in phiopt x ? 0 : -1 into -(int)!x but it can be optimized as
(int) x - 1 which is one less operation both in GIMPLE and in x86 assembly.
This patch optimizes it in match.pd, by optimizing -(type)!x when
x has boolean range into (type)x - 1.
2020-12-06 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/96232
* match.pd (-(type)!A -> (type)A - 1): New optimization.
* gcc.dg/tree-ssa/pr96232-1.c: New test.