[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Richard Biener  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #17 from Richard Biener  ---
Fixed.

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-16 Thread uweigand at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #14 from Ulrich Weigand  ---
Building the following reduced test case with
  -O2 -ftree-vectorize -fcx-fortran-rules
with an spu-elf cross-cc1 shows the ICE.

void
test (_Complex float *dest,
  _Complex float scale, int count)
{
  for (int x = 0; x < count; x++)
dest[x] *= scale;
}

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #16 from Richard Biener  ---
Author: rguenth
Date: Mon Nov 16 15:04:00 2015
New Revision: 230428

URL: https://gcc.gnu.org/viewcvs?rev=230428=gcc=rev
Log:
2015-11-16  Richard Biener  

PR tree-optimization/68306
* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix
bogus copying from verify_data_ref_alignment and use continue
instead of return.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-data-refs.c

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #13 from Richard Biener  ---
Can you attach preprocessed source?  See also PR68367 which I can't reproduce
with a cross.

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-16 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #15 from rguenther at suse dot de  ---
On Mon, 16 Nov 2015, uweigand at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306
> 
> --- Comment #14 from Ulrich Weigand  ---
> Building the following reduced test case with
>   -O2 -ftree-vectorize -fcx-fortran-rules
> with an spu-elf cross-cc1 shows the ICE.
> 
> void
> test (_Complex float *dest,
>   _Complex float scale, int count)
> {
>   for (int x = 0; x < count; x++)
> dest[x] *= scale;
> }

Bah, too much copy  TRivial fix:

Index: gcc/tree-vect-data-refs.c
===
--- gcc/tree-vect-data-refs.c   (revision 230421)
+++ gcc/tree-vect-data-refs.c   (working copy)
@@ -967,13 +967,13 @@ vect_verify_datarefs_alignment (loop_vec
   /* For interleaving, only the alignment of the first access 
matters.   */
   if (STMT_VINFO_GROUPED_ACCESS (stmt_info)
  && GROUP_FIRST_ELEMENT (stmt_info) != stmt)
-   return true;
+   continue;

   /* Strided accesses perform only component accesses, alignment is
 irrelevant for them.  */
   if (STMT_VINFO_STRIDED_P (stmt_info)
  && !STMT_VINFO_GROUPED_ACCESS (stmt_info))
-   return true;
+   continue;

   if (! verify_data_ref_alignment (dr))
return false;

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-16 Thread uweigand at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Ulrich Weigand  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #12 from Ulrich Weigand  ---
Unfortunately, it seems that your second commit brought back the failure on
spu-elf that had already been fixed by the first commit ...

/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/libgfortran/generated/matmul_c4.c:
In function 'matmul_c4':
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/libgfortran/generated/matmul_c4.c:79:1:
internal compiler error: in vectorizable_store, at tree-vect-stmts.c:5655
 matmul_c4 (gfc_array_c4 * const restrict retarray,
 ^

0x10b19c83 vectorizable_store
   
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/gcc/tree-vect-stmts.c:5655
0x10b21db3 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*,
_slp_tree*, _slp_instance*)
   
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/gcc/tree-vect-stmts.c:8007
0x10b49ecf vect_schedule_slp_instance
   
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/gcc/tree-vect-slp.c:3608
0x10b503ab vect_schedule_slp(vec_info*)
   
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/gcc/tree-vect-slp.c:3673
0x10b2dffb vect_transform_loop(_loop_vec_info*)
   
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/gcc/tree-vect-loop.c:6773
0x10b57ab3 vectorize_loops()
   
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/gcc/tree-vectorizer.c:533
0x109fa5d7 execute
   
/home/uweigand/dailybuild/spu-tc-2015-11-13/gcc-head/src/gcc/tree-ssa-loop.c:273

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Richard Biener  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Richard Biener  ---
Fixed.

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #10 from Richard Biener  ---
Author: rguenth
Date: Fri Nov 13 12:14:57 2015
New Revision: 230310

URL: https://gcc.gnu.org/viewcvs?rev=230310=gcc=rev
Log:
2015-11-13  Richard Biener  

PR tree-optimization/68306
* tree-vect-data-refs.c (verify_data_ref_alignment): Move
loop related checks ...
(vect_verify_datarefs_alignment): ... here.
(vect_slp_analyze_and_verify_node_alignment): Compute and
verify alignment of the single DR that it matters.
* tree-vect-stmts.c (vectorizable_store): Add an assert.
(vectorizable_load): Add a comment.
* tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used
for determining load cost.

* gcc.dg/pr68306.c: Adjust.
* gcc.dg/pr68306-2.c: New testcase.
* gcc.dg/pr68306-3.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/pr68306-2.c
trunk/gcc/testsuite/gcc.dg/pr68306-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr68306.c
trunk/gcc/tree-vect-data-refs.c
trunk/gcc/tree-vect-slp.c
trunk/gcc/tree-vect-stmts.c

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #8 from Richard Biener  ---
I'm testing another followup...

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Richard Biener  changed:

   What|Removed |Added

 CC||su at cs dot ucdavis.edu

--- Comment #9 from Richard Biener  ---
*** Bug 68324 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |6.0

--- Comment #3 from Richard Biener  ---
Mine.


[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-12 Thread uweigand at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Ulrich Weigand  changed:

   What|Removed |Added

 CC||uweigand at gcc dot gnu.org

--- Comment #4 from Ulrich Weigand  ---
I see the same ICE in a spu-elf libgfortran build:

/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/libgfortran/generated/matmul_c8.c:
In function 'matmul_c8':
/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/libgfortran/generated/matmul_c8.c:79:1:
internal compiler error: in vectorizable_store, at tree-vect-stmts.c:5651
 matmul_c8 (gfc_array_c8 * const restrict retarray,
 ^

0x10b10373 vectorizable_store
   
/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/gcc/tree-vect-stmts.c:5651
0x10b1e553 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*,
_slp_tree*, _slp_instance*)
   
/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/gcc/tree-vect-stmts.c:8003
0x10b48b6f vect_schedule_slp_instance
   
/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/gcc/tree-vect-slp.c:3484
0x10b4afeb vect_schedule_slp(vec_info*)
   
/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/gcc/tree-vect-slp.c:3549
0x10b4f2f7 vect_slp_bb(basic_block_def*)
   
/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/gcc/tree-vect-slp.c:2543
0x10b502c7 execute
   
/home/uweigand/dailybuild/spu-tc-2015-11-11/gcc-head/src/gcc/tree-vectorizer.c:734

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #5 from Richard Biener  ---
Author: rguenth
Date: Thu Nov 12 14:02:44 2015
New Revision: 230260

URL: https://gcc.gnu.org/viewcvs?rev=230260=gcc=rev
Log:
2015-11-12  Richard Biener  

PR tree-optimization/68306
* tree-vect-data-refs.c (verify_data_ref_alignment): Remove
relevant and vectorizable checks here.
(vect_verify_datarefs_alignment): Add relevant check here.

* gcc.dg/pr68306.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/pr68306.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-data-refs.c

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Richard Biener  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Richard Biener  ---
Fixed.

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #7 from Markus Trippelsdorf  ---
(In reply to Richard Biener from comment #6)
> Fixed.

Unfortunately, no.

trippels@gcc2-power8 linux % cat ucm.i
extern void fn2();
struct {
  unsigned qp_num;
  unsigned starting_psn;
  void *private_data;
} a;
struct {
  unsigned id;
  unsigned qpn;
  unsigned psn;
} b;
void fn1() {
  a.qp_num = b.qpn;
  a.starting_psn = b.psn;
  fn2(b.id);
}

trippels@gcc2-power8 linux % gcc -mno-altivec -mno-vsx -O3 -c ucm.i
ucm.i: In function ‘fn1’:
ucm.i:12:6: internal compiler error: in vectorizable_load, at
tree-vect-stmts.c:6707
 void fn1() {
  ^

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

--- Comment #2 from Markus Trippelsdorf  ---
ICE's in vectorizable_load, too:

markus@x4 linux % cat vsyscall_gtod.i
struct {
  int tz_minuteswest;
  int tz_dsttime;
} a, b;
void fn1() {
  b.tz_minuteswest = a.tz_minuteswest;
  b.tz_dsttime = a.tz_dsttime;
}

markus@x4 linux % gcc -mno-sse -mno-mmx -O3 -c vsyscall_gtod.i
vsyscall_gtod.i: In function ‘fn1’:
vsyscall_gtod.i:5:6: internal compiler error: in vectorizable_load, at
tree-vect-stmts.c:6707
 void fn1() {
  ^

0xd0a0d9 vectorizable_load
../../gcc/gcc/tree-vect-stmts.c:6707
0xd118d0 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*, _slp_tree*,
_slp_instance*)
../../gcc/gcc/tree-vect-stmts.c:7998
0xd28e2d vect_schedule_slp_instance
../../gcc/gcc/tree-vect-slp.c:3484
0xd28c89 vect_schedule_slp_instance
../../gcc/gcc/tree-vect-slp.c:3365
0xd2a936 vect_schedule_slp(vec_info*)
../../gcc/gcc/tree-vect-slp.c:3549
0xd2de7c vect_slp_bb(basic_block_def*)
../../gcc/gcc/tree-vect-slp.c:2543
0xd2fef5 execute
../../gcc/gcc/tree-vectorizer.c:734

[Bug tree-optimization/68306] [6 Regression] ICE: in vectorizable_store, at tree-vect-stmts.c:5651

2015-11-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68306

Markus Trippelsdorf  changed:

   What|Removed |Added

 Target|powerpc64le-unknown-linux-g |
   |nu  |
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-12
   Host|powerpc64le-unknown-linux-g |
   |nu  |
 Ever confirmed|0   |1
  Build|powerpc64le-unknown-linux-g |
   |nu  |

--- Comment #1 from Markus Trippelsdorf  ---
Also happens on x86_64 with -mno-sse -mno-mmx.