Bug 43074 - [4.4/4.5 Regression] ICE in vectorizable_reduction, at tree-vect-loop.c:3491
Summary: [4.4/4.5 Regression] ICE in vectorizable_reduction, at tree-vect-loop.c:3491
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: 4.4.4
Assignee: Ira Rosen
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2010-02-15 10:32 UTC by Richard Biener
Modified: 2010-02-18 09:43 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work: 4.4.4 4.5.0
Known to fail: 4.4.3
Last reconfirmed: 2010-02-15 12:39:54


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2010-02-15 10:32:17 UTC
float
pvslockprocess(float *fout, float *fin, int framesize)
{
  int i;
  float mag=0.0f, diff;
  for (i = 0; i < framesize; i += 2) {
      mag += fin[i];
      fout[i] = fin[i];
      fout[i+1] = fin[i+1];
  }
  return mag;
}

> gcc-4.5 -O3 -ffast-math t.3.3.i
t.3.3.i: In function 'pvslockprocess':
t.3.3.i:2:1: internal compiler error: in vectorizable_reduction, at tree-vect-loop.c:3491
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

> gcc-4.4 -O3 -ffast-math t.3.3.i
t.3.3.i: In function ‘pvslockprocess’:
t.3.3.i:2: internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-transform.c:1999
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.
Comment 1 irar 2010-02-16 11:35:15 UTC
Subject: Bug 43074

Author: irar
Date: Tue Feb 16 11:35:03 2010
New Revision: 156800

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156800
Log:

	PR tree-optimization/43074
	* tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
	* tree-vect-loop.c (vect_analyze_loop_operations): Add
	vectorizable cycles in hybrid SLP check.
	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.


Added:
    trunk/gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree-vect-slp.c
    trunk/gcc/tree-vectorizer.h

Comment 2 irar 2010-02-16 11:42:06 UTC
Subject: Bug 43074

Author: irar
Date: Tue Feb 16 11:41:55 2010
New Revision: 156802

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156802
Log:

	PR tree-optimization/43074
	* tree-vect-analyze.c (vect_detect_hybrid_slp_stmts): Add
	vectorizable cycles in hybrid SLP check.


Added:
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c
Modified:
    branches/gcc-4_4-branch/gcc/ChangeLog
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_4-branch/gcc/tree-vect-analyze.c

Comment 3 Mark Mitchell 2010-02-17 17:42:17 UTC
Richard, is this fixed now?
Comment 4 Richard Biener 2010-02-18 09:43:31 UTC
Yep.  Fixed.  Thanks Ira.