This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/60896] [4.10 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449
- From: "congh at google dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 23 Apr 2014 23:03:10 +0000
- Subject: [Bug tree-optimization/60896] [4.10 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449
- Auto-submitted: auto-generated
- References: <bug-60896-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60896
--- Comment #3 from Cong Hou <congh at google dot com> ---
Created attachment 32668
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32668&action=edit
The patch to fix PR60896
The reason of this issue is that those statements in PATTERN_DEF_SEQ in
pre-recognized widen-mult pattern are not forwarded to later recognized
dot-product pattern. I have created a patch to fix this.
Another issue is that the def types of statements in PATTERN_DEF_SEQ are
assigned with the def type of the pattern statement. This is incorrect for
reduction pattern statement, in which case all statements in PATTERN_DEF_SEQ
will all be vect_reduction_def, and none of them will be vectorized later. The
def type of statement in PATTERN_DEF_SEQ should always be vect_internal_def.
This patch will also be submitted to gcc-patch.