Re: [PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-24 Thread Richard Biener
On May 24, 2016 6:17:19 PM GMT+02:00, Jakub Jelinek wrote: >On Mon, May 23, 2016 at 04:22:57PM +0200, Richard Biener wrote: >> *** /dev/null1970-01-01 00:00:00.0 + >> --- gcc/testsuite/c-c++-common/vector-subscript-5.c 2016-05-23 >16:17:41.148043066 +0200 >> *** >>

Re: [PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-24 Thread Jakub Jelinek
On Mon, May 23, 2016 at 04:22:57PM +0200, Richard Biener wrote: > *** /dev/null 1970-01-01 00:00:00.0 + > --- gcc/testsuite/c-c++-common/vector-subscript-5.c 2016-05-23 > 16:17:41.148043066 +0200 > *** > *** 0 > --- 1,13 > + /* { dg-do compile } */ > + > + type

Re: [PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-23 Thread Richard Biener
On Mon, 23 May 2016, Jason Merrill wrote: > On 05/23/2016 05:19 AM, Richard Biener wrote: > > * c-common.c (convert_vector_to_pointer_for_subscript): Use a > > VIEW_CONVERT_EXPR to an array type. > > Since we aren't converting to pointer type anymore, the function name should > probably c

Re: [PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-23 Thread Jason Merrill
On 05/23/2016 05:19 AM, Richard Biener wrote: * c-common.c (convert_vector_to_pointer_for_subscript): Use a VIEW_CONVERT_EXPR to an array type. Since we aren't converting to pointer type anymore, the function name should probably change, or at least the comment. OK with that

Re: [PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-23 Thread Richard Biener
On Mon, 23 May 2016, Richard Biener wrote: > On Mon, 23 May 2016, Eric Botcazou wrote: > > > > The following changes the IL the C family frontends emit for > > > vector indexing from a mix of BIT_FIELD_REF (for constant indices) > > > and pointer arithmetic + dereferences (for variable indicies)

Re: [PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-23 Thread Richard Biener
On Mon, 23 May 2016, Eric Botcazou wrote: > > The following changes the IL the C family frontends emit for > > vector indexing from a mix of BIT_FIELD_REF (for constant indices) > > and pointer arithmetic + dereferences (for variable indicies) to > > a simple ARRAY_REF of the vector view-converted

Re: [PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-23 Thread Eric Botcazou
> The following changes the IL the C family frontends emit for > vector indexing from a mix of BIT_FIELD_REF (for constant indices) > and pointer arithmetic + dereferences (for variable indicies) to > a simple ARRAY_REF of the vector view-converted to a corresponding > array type. FWIW the Ada fro

[PATCH] Fix PR70434, change FE IL for vector indexing

2016-05-23 Thread Richard Biener
The following changes the IL the C family frontends emit for vector indexing from a mix of BIT_FIELD_REF (for constant indices) and pointer arithmetic + dereferences (for variable indicies) to a simple ARRAY_REF of the vector view-converted to a corresponding array type. This avoids making the ve

Re: [PATCH] Fix PR70434

2016-04-01 Thread Richard Biener
On Wed, 30 Mar 2016, Jakub Jelinek wrote: > On Wed, Mar 30, 2016 at 02:07:07PM +0200, Richard Biener wrote: > > The patch for PR63764 (accepts-invalid / ICE) caused us to generate > > worse code for rvalue vector indexing by forcing the vector to a > > temporary. It turns out this is not necessar

Re: [PATCH] Fix PR70434

2016-03-30 Thread Jakub Jelinek
On Wed, Mar 30, 2016 at 02:07:07PM +0200, Richard Biener wrote: > The patch for PR63764 (accepts-invalid / ICE) caused us to generate > worse code for rvalue vector indexing by forcing the vector to a > temporary. It turns out this is not necessary if we alter the > way the C/C++ FE lower the vect

[PATCH] Fix PR70434

2016-03-30 Thread Richard Biener
The patch for PR63764 (accepts-invalid / ICE) caused us to generate worse code for rvalue vector indexing by forcing the vector to a temporary. It turns out this is not necessary if we alter the way the C/C++ FE lower the vector to perform the indexing operation from lowering to a pointer-to-elem