Re: [RFC] combine: Improve change_zero_ext, call simplify_set afterwards.

2016-12-12 Thread Dominik Vogt
On Sat, Dec 10, 2016 at 10:37:38AM -0600, Segher Boessenkool wrote: > On Fri, Dec 09, 2016 at 04:23:44PM +0100, Dominik Vogt wrote: > > 0001-* > > > > Deal with mode expanding zero_extracts in change_zero_ext. The > > patch looks good to me, but not sure whether endianness is > > handled pr

Re: [RFC] combine: Improve change_zero_ext, call simplify_set afterwards.

2016-12-10 Thread Segher Boessenkool
On Sat, Dec 10, 2016 at 10:37:38AM -0600, Segher Boessenkool wrote: > Okay for trunk with those changes (did you bootstrap+regcheck this > already?) Thanks, Oh, and a changelog :-) Segher

Re: [RFC] combine: Improve change_zero_ext, call simplify_set afterwards.

2016-12-10 Thread Segher Boessenkool
On Fri, Dec 09, 2016 at 04:23:44PM +0100, Dominik Vogt wrote: > 0001-* > > Deal with mode expanding zero_extracts in change_zero_ext. The > patch looks good to me, but not sure whether endianness is > handled properly. Is the second argument of gen_rtx_SUBREG > correct? > >From 600ed3da

Re: [RFC] combine: Improve change_zero_ext, call simplify_set afterwards.

2016-12-09 Thread Segher Boessenkool
On Fri, Dec 09, 2016 at 08:32:01PM +0100, Dominik Vogt wrote: > > > This is a work in progress with the goal of fixing the first > > > problem and similar ones by calling simplify_set after > > > change_zero_ext to get rid of the overly complex code. That > > > works fine in principle, but

Re: [RFC] combine: Improve change_zero_ext, call simplify_set afterwards.

2016-12-09 Thread Dominik Vogt
On Fri, Dec 09, 2016 at 12:25:04PM -0600, Segher Boessenkool wrote: > Hi Dominik, > > On Fri, Dec 09, 2016 at 04:23:44PM +0100, Dominik Vogt wrote: > > 0001-* > > > > Deal with mode expanding zero_extracts in change_zero_ext. The > > patch looks good to me, but not sure whether endianness is

Re: [RFC] combine: Improve change_zero_ext, call simplify_set afterwards.

2016-12-09 Thread Segher Boessenkool
Hi Dominik, On Fri, Dec 09, 2016 at 04:23:44PM +0100, Dominik Vogt wrote: > 0001-* > > Deal with mode expanding zero_extracts in change_zero_ext. The > patch looks good to me, but not sure whether endianness is > handled properly. Is the second argument of gen_rtx_SUBREG > correct? Thi

[RFC] combine: Improve change_zero_ext, call simplify_set afterwards.

2016-12-09 Thread Dominik Vogt
There are several situations that combine.c:change_zero_ext does not handle well yet. One of them is (and:SI (subreg:SI (zero_extract:DI (reg:DI) ...) ...) (with const_int operands to "and" and "zero_extract") => (and:SI (subreg:SI (and:DI (lshiftrt:DI ...))) with two nested "and"s. Anoth