Re: [PATCH][GCC 7] Remove broken path in extract_bit_field_1

2016-04-18 Thread Richard Biener
On Mon, Apr 4, 2016 at 3:33 PM, Jakub Jelinek wrote: > On Mon, Apr 04, 2016 at 03:27:23PM +0200, Richard Biener wrote: >> It ICEs in >> >> /space/rguenther/src/svn/trunk/gcc/testsuite/gcc.target/i386/pr37870.c:19:1: >> internal compiler error: in subreg_get_info, at rtlanal.c:3695 >> 0xddee5a subr

Re: [PATCH][GCC 7] Remove broken path in extract_bit_field_1

2016-04-04 Thread Jakub Jelinek
On Mon, Apr 04, 2016 at 03:27:23PM +0200, Richard Biener wrote: > It ICEs in > > /space/rguenther/src/svn/trunk/gcc/testsuite/gcc.target/i386/pr37870.c:19:1: > internal compiler error: in subreg_get_info, at rtlanal.c:3695 > 0xddee5a subreg_get_info(unsigned int, machine_mode, unsigned int, > ma

Re: [PATCH][GCC 7] Remove broken path in extract_bit_field_1

2016-04-04 Thread Richard Biener
On Mon, 4 Apr 2016, Jakub Jelinek wrote: > On Mon, Apr 04, 2016 at 03:10:34PM +0200, Richard Biener wrote: > > On Mon, 4 Apr 2016, Jakub Jelinek wrote: > > > > > On Mon, Apr 04, 2016 at 02:56:51PM +0200, Richard Biener wrote: > > > > The testcase gcc.target/i386/pr37870.c will already ICE with th

Re: [PATCH][GCC 7] Remove broken path in extract_bit_field_1

2016-04-04 Thread Jakub Jelinek
On Mon, Apr 04, 2016 at 03:10:34PM +0200, Richard Biener wrote: > On Mon, 4 Apr 2016, Jakub Jelinek wrote: > > > On Mon, Apr 04, 2016 at 02:56:51PM +0200, Richard Biener wrote: > > > The testcase gcc.target/i386/pr37870.c will already ICE with that > > > patch, so no additional testcase. > > > >

Re: [PATCH][GCC 7] Remove broken path in extract_bit_field_1

2016-04-04 Thread Richard Biener
On Mon, 4 Apr 2016, Jakub Jelinek wrote: > On Mon, Apr 04, 2016 at 02:56:51PM +0200, Richard Biener wrote: > > The testcase gcc.target/i386/pr37870.c will already ICE with that > > patch, so no additional testcase. > > In theory you could validate_subreg first and use that code if validation > we

Re: [PATCH][GCC 7] Remove broken path in extract_bit_field_1

2016-04-04 Thread Jakub Jelinek
On Mon, Apr 04, 2016 at 02:56:51PM +0200, Richard Biener wrote: > The testcase gcc.target/i386/pr37870.c will already ICE with that > patch, so no additional testcase. In theory you could validate_subreg first and use that code if validation went ok, otherwise go through memory. But I admit I don'

[PATCH][GCC 7] Remove broken path in extract_bit_field_1

2016-04-04 Thread Richard Biener
r141430 as a fix for PR37870 added a memory fallback to extract_bit_field_1 and another case punning through a larger integer mode (as suggested by Ian). That path is broken as it happily creates (set (subreg:XF (reg:TI ..)) (...)) on i?86 when we optimize the added testcase unsigned int bar