[Bug middle-end/49536] latent bug with creation of vector of arrays

2012-02-10 Thread baldrick at gcc dot gnu.org
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

2011-06-27 Thread ebotcazou at gcc dot gnu.org
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

2011-06-27 Thread rguenth at gcc dot gnu.org
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

2011-06-27 Thread rguenth at gcc dot gnu.org
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

2011-06-27 Thread howarth at nitro dot med.uc.edu
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

2011-06-27 Thread howarth at nitro dot med.uc.edu
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.