+2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/28952
+ * tree-vect-transform.c (vectorizable_condition): Move the check
+ for the type after the check for simple condition.
+
2006-09-05 J"orn Rennecke <joern.rennecke@st.com>
Kaz Kojima <kkojima@gcc.gnu.org>
2006-09-05 Anatoly Sokolov <aesok@post.ru>
- * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
- * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
- * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
- (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
+ * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
+ * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+ * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+ (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
2006-09-05 Richard Guenther <rguenther@suse.de>
+2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/28952
+ * gcc.dg/vect/pr28952.c: New test.
+
2006-09-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/28900
--- /dev/null
+/* { dg-do compile } */
+
+/* We were ICE because we wanted to check the type of the
+ elements of a conditional before we knew it was a conditional. */
+
+struct player_spaceship
+{
+ _Bool structure[32];
+};
+struct player
+{
+ struct player_spaceship spaceship;
+};
+struct packet_spaceship_info
+{
+ char structure[32 + 1];
+};
+send_spaceship_info (void)
+{
+ int j;
+ struct player *pplayer;
+ struct packet_spaceship_info info;
+ struct player_spaceship *ship = &pplayer->spaceship;
+ for (j = 0; j < 32; j++)
+ {
+ info.structure[j] = ship->structure[j] ? '1' : '0';
+ }
+ lsend_packet_spaceship_info (&info);
+}
+
+
then_clause = TREE_OPERAND (op, 1);
else_clause = TREE_OPERAND (op, 2);
+ if (!vect_is_simple_cond (cond_expr, loop_vinfo))
+ return false;
+
/* We do not handle two different vector types for the condition
and the values. */
if (TREE_TYPE (TREE_OPERAND (cond_expr, 0)) != TREE_TYPE (vectype))
return false;
- if (!vect_is_simple_cond (cond_expr, loop_vinfo))
- return false;
-
if (TREE_CODE (then_clause) == SSA_NAME)
{
tree then_def_stmt = SSA_NAME_DEF_STMT (then_clause);