http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51074
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-11-11 19:55:26 UTC --- Author: jakub Date: Fri Nov 11 19:55:23 2011 New Revision: 181297 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181297 Log: PR tree-optimization/51074 * fold-const.c (vec_cst_ctor_to_array, fold_vec_perm): New functions. (fold_binary_loc): Handle VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR with VECTOR_CST or CONSTRUCTOR operands. (fold_ternary_loc): Handle VEC_PERM_EXPR with VECTOR_CST or CONSTRUCTOR operands. * tree-ssa-propagate.c (valid_gimple_rhs_p): Handle ternary expressions. * tree-vect-generic.c (lower_vec_perm): Mask sel_int elements to 0 .. 2 * elements - 1. Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/tree-ssa-propagate.c trunk/gcc/tree-vect-generic.c