Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-29 Thread Richard Biener
On October 29, 2016 6:12:50 PM GMT+02:00, Jakub Jelinek wrote: >On Fri, Oct 28, 2016 at 10:59:35AM +0200, Jakub Jelinek wrote: >> On Fri, Oct 28, 2016 at 10:52:34AM +0200, Richard Biener wrote: >> > > I've already committed the original patch based on Eric's review, >but >> > > managed to come up

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-29 Thread Jakub Jelinek
On Fri, Oct 28, 2016 at 10:59:35AM +0200, Jakub Jelinek wrote: > On Fri, Oct 28, 2016 at 10:52:34AM +0200, Richard Biener wrote: > > > I've already committed the original patch based on Eric's review, but > > > managed to come up with another testcase that still ICEs (one with two > > > different c

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-28 Thread Jakub Jelinek
On Fri, Oct 28, 2016 at 10:52:34AM +0200, Richard Biener wrote: > > I've already committed the original patch based on Eric's review, but > > managed to come up with another testcase that still ICEs (one with two > > different complex modes). Is the following ok for trunk if it passes > > bootstra

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-28 Thread Richard Biener
On Fri, 28 Oct 2016, Jakub Jelinek wrote: > On Fri, Oct 28, 2016 at 01:32:22AM -0600, Jeff Law wrote: > > >I think so. I'll leave the rest to people more familiar with RTL > > >expansion -- generally I thought the callers of expand() have to deal > > >with expansions that return a different mode?

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-28 Thread Jakub Jelinek
On Fri, Oct 28, 2016 at 01:32:22AM -0600, Jeff Law wrote: > >I think so. I'll leave the rest to people more familiar with RTL > >expansion -- generally I thought the callers of expand() have to deal > >with expansions that return a different mode? > You generally have to deal with expansions that

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-28 Thread Jeff Law
On 10/28/2016 01:25 AM, Richard Biener wrote: On Thu, 27 Oct 2016, Jakub Jelinek wrote: Hi! The following testcase ICEs on x86_64-linux with -O1, the problem is that we expand assignment from COMPONENT_REF of MEM_REF into a V4SImode SSA_NAME. The MEM_REF has non-addressable DCmode var inside

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-28 Thread Richard Biener
On Thu, 27 Oct 2016, Jakub Jelinek wrote: > Hi! > > The following testcase ICEs on x86_64-linux with -O1, the problem is > that we expand assignment from COMPONENT_REF of MEM_REF into a V4SImode > SSA_NAME. The MEM_REF has non-addressable DCmode var inside of it, and > type of a struct containin

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-28 Thread Eric Botcazou
> Though, perhaps COMPLEX_MODE_P (mode1) is also wrong, if mode1 isn't > GET_MODE (op0), then we still will return something with unexpected mode > (e.g. DCmode vs. CDImode); I wonder if for such mismatches we shouldn't > just force_reg (convert_modes ()) each CONCAT operand separately and > create

[PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-27 Thread Jakub Jelinek
Hi! The following testcase ICEs on x86_64-linux with -O1, the problem is that we expand assignment from COMPONENT_REF of MEM_REF into a V4SImode SSA_NAME. The MEM_REF has non-addressable DCmode var inside of it, and type of a struct containing a single V4SImode element. The bug seems to be that