Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/65_all_gcc43-pr35982.patch
http://gcc.gnu.org/PR35982

2008-04-23  Ira Rosen  <irar@il.ibm.com>

	PR tree-optimization/35982
	* tree-vect-analyze.c (vect_check_interleaving): Check that the
	interleaved data-refs are of the same type.

diff -durN gcc-4.3.0.orig/gcc/tree-vect-analyze.c gcc-4.3.0/gcc/tree-vect-analyze.c
--- gcc-4.3.0.orig/gcc/tree-vect-analyze.c	2007-12-06 17:18:55.000000000 +0100
+++ gcc-4.3.0/gcc/tree-vect-analyze.c	2008-06-10 14:45:17.000000000 +0200
@@ -1081,7 +1081,9 @@
   type_size_b = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (TREE_TYPE (DR_REF (drb))));
 
   if (type_size_a != type_size_b
-      || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb)))
+      || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb))
+      || !types_compatible_p (TREE_TYPE (DR_REF (dra)), 
+                              TREE_TYPE (DR_REF (drb))))
     return;
 
   init_a = TREE_INT_CST_LOW (DR_INIT (dra));
