[Bug middle-end/49536] latent bug with creation of vector of arrays
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49536 --- Comment #8 from Duncan Sands baldrick at gcc dot gnu.org 2012-02-10 12:34:21 UTC --- Author: baldrick Date: Fri Feb 10 12:34:17 2012 New Revision: 184090 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184090 Log: Backport the fix for PR tree-optimization/49536 from mainline. Patch by Jack Howarth, approved by Richard Guenther. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/tree-vect-stmts.c
[Bug middle-end/49536] latent bug with creation of vector of arrays
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49536 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added CC||ebotcazou at gcc dot ||gnu.org Summary|latent bug in FSF gcc with |latent bug with creation of |creation of vector of |vector of arrays |arrays | --- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-06-27 08:42:51 UTC --- There is no other GCC as what you call FSF gcc as far as we are concerned.
[Bug middle-end/49536] latent bug with creation of vector of arrays
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49536 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-06-27 10:31:33 UTC --- Author: rguenth Date: Mon Jun 27 10:31:30 2011 New Revision: 175475 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175475 Log: 2011-06-27 Richard Guenther rguent...@suse.de PR tree-optimization/49536 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For non-scalar inner types use a scalar type according to the scalar inner mode. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-vect-stmts.c
[Bug middle-end/49536] latent bug with creation of vector of arrays
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49536 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.7.0 --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-06-27 10:32:12 UTC --- Fixed.
[Bug middle-end/49536] latent bug with creation of vector of arrays
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49536 --- Comment #6 from Jack Howarth howarth at nitro dot med.uc.edu 2011-06-27 13:08:38 UTC --- Can we get this fix backported to gcc-4_5-branch and gcc-4_6-branch as well? Dragonegg currently only builds against those FSF gcc releases.
[Bug middle-end/49536] latent bug with creation of vector of arrays
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49536 --- Comment #7 from Jack Howarth howarth at nitro dot med.uc.edu 2011-06-27 16:46:17 UTC --- I can confirm that the adjusted backport of... Index: gcc/tree-vect-stmts.c === --- gcc/tree-vect-stmts.c(revision 175535) +++ gcc/tree-vect-stmts.c(working copy) @@ -4660,6 +4660,15 @@ get_vectype_for_scalar_type (tree scalar GET_MODE_BITSIZE (inner_mode) != TYPE_PRECISION (scalar_type)) return NULL_TREE; + /* We shouldn't end up building VECTOR_TYPEs of non-scalar components. + When the component mode passes the above test simply use a type + corresponding to that mode. The theory is that any use that + would cause problems with this will disable vectorization anyway. */ + if (!SCALAR_FLOAT_TYPE_P (scalar_type) + !INTEGRAL_TYPE_P (scalar_type) + !POINTER_TYPE_P (scalar_type)) +scalar_type = lang_hooks.types.type_for_mode (inner_mode, 1); + /* FORNOW: Only a single vector size per mode (UNITS_PER_SIMD_WORD) is expected. */ nunits = UNITS_PER_SIMD_WORD (inner_mode) / nbytes; on current gcc-4_5-branch solves the ICE under dragonegg in the original testcase from http://llvm.org/bugs/show_bug.cgi?id=10042.