match: Optimize (~a) >> a to -1 for signed a [PR125707]

For signed a, (~a) >> a is the same as ~(a>>a) which is ~0 aka -1.

Bootstrapped and tested on x86_64-pc-linux-gnu

	PR tree-optimization/125707

gcc/ChangeLog:

	PR tree-optimization/125707
	* match.pd: Add (~a) >> a to -1 for signed a.

gcc/testsuite/ChangeLog:

	PR tree-optimization/125707
	* gcc.dg/pr125707.c: New test.

Signed-off-by: Kael Franco <kaelfandrew@gmail.com>
2 files changed