Re: [PATCH] Add X != !X pattern

2015-08-05 Thread James Greenhalgh
On Wed, Aug 05, 2015 at 02:56:08PM +0100, Richard Biener wrote: > For reference see below (testing on aarch64 appreciated). Looks good to me on aarch64-none-elf. Thanks, James > Bootstrap & regtest running on x86_64-unknown-linux-gnu. > > Richard. > > 2015-08-05 Richard Biener > > *

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Andreas Schwab
Richard Biener writes: > For reference see below (testing on aarch64 appreciated). > > Bootstrap & regtest running on x86_64-unknown-linux-gnu. > > Richard. > > 2015-08-05 Richard Biener > > * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify > bool comparison canonicalizati

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Richard Biener
On Wed, 5 Aug 2015, Richard Biener wrote: > On Wed, 5 Aug 2015, Richard Biener wrote: > > > On Wed, 5 Aug 2015, James Greenhalgh wrote: > > > > > On Wed, Aug 05, 2015 at 12:09:35PM +0100, Richard Biener wrote: > > > > On Wed, 5 Aug 2015, Andrew Pinski wrote: > > > > > > > > > On Wed, Aug 5, 201

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread James Greenhalgh
On Wed, Aug 05, 2015 at 02:38:01PM +0100, Richard Biener wrote: > On Wed, 5 Aug 2015, James Greenhalgh wrote: > > > On Wed, Aug 05, 2015 at 12:09:35PM +0100, Richard Biener wrote: > > > On Wed, 5 Aug 2015, Andrew Pinski wrote: > > > > > > > On Wed, Aug 5, 2015 at 3:16 AM, Richard Biener > > > >

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Richard Biener
On Wed, 5 Aug 2015, Richard Biener wrote: > On Wed, 5 Aug 2015, James Greenhalgh wrote: > > > On Wed, Aug 05, 2015 at 12:09:35PM +0100, Richard Biener wrote: > > > On Wed, 5 Aug 2015, Andrew Pinski wrote: > > > > > > > On Wed, Aug 5, 2015 at 3:16 AM, Richard Biener > > > > wrote: > > > > > On

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Richard Biener
On Wed, 5 Aug 2015, James Greenhalgh wrote: > On Wed, Aug 05, 2015 at 12:09:35PM +0100, Richard Biener wrote: > > On Wed, 5 Aug 2015, Andrew Pinski wrote: > > > > > On Wed, Aug 5, 2015 at 3:16 AM, Richard Biener wrote: > > > > On Wed, 5 Aug 2015, Andreas Schwab wrote: > > > > > > > >> Richard Bi

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread James Greenhalgh
On Wed, Aug 05, 2015 at 12:09:35PM +0100, Richard Biener wrote: > On Wed, 5 Aug 2015, Andrew Pinski wrote: > > > On Wed, Aug 5, 2015 at 3:16 AM, Richard Biener wrote: > > > On Wed, 5 Aug 2015, Andreas Schwab wrote: > > > > > >> Richard Biener writes: > > >> > > >> > * gimple-fold.c (gimple_f

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Richard Biener
On Wed, 5 Aug 2015, Andrew Pinski wrote: > On Wed, Aug 5, 2015 at 3:16 AM, Richard Biener wrote: > > On Wed, 5 Aug 2015, Andreas Schwab wrote: > > > >> Richard Biener writes: > >> > >> > * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize > >> > bool compares on RHS. > >> >

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Andrew Pinski
On Wed, Aug 5, 2015 at 3:16 AM, Richard Biener wrote: > On Wed, 5 Aug 2015, Andreas Schwab wrote: > >> Richard Biener writes: >> >> > * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize >> > bool compares on RHS. >> > * match.pd: Add X ==/!= !X is false/true pattern. >> >>

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Richard Biener
On Wed, 5 Aug 2015, Andreas Schwab wrote: > Richard Biener writes: > > > * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize > > bool compares on RHS. > > * match.pd: Add X ==/!= !X is false/true pattern. > > ERROR in VTST/VTSTQ > (/opt/gcc/gcc-20150805/gcc/testsuite/gcc

Re: [PATCH] Add X != !X pattern

2015-08-05 Thread Andreas Schwab
Richard Biener writes: > * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize > bool compares on RHS. > * match.pd: Add X ==/!= !X is false/true pattern. ERROR in VTST/VTSTQ (/opt/gcc/gcc-20150805/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vtst.c line 97 in

[PATCH] Add X != !X pattern

2015-08-04 Thread Richard Biener
This adds a pattern matching x != ~x on GIMPLE and allows CCP to properly optimize the added testcase. gimple_simplify gets confused by the existing ~x == 1 -> x == 0 pattern which gimple_fold_stmt_to_constant_1 cannot reduce to a single value. Bootstrapped and tested on x86_64-unknown-linux-gn