This patch folds a vector of equal values to the scalar in vector-shift operation. ChangeLog: 2010-11-01 Artjoms Sinkarovs gcc/ * passes.c (init_optimization_passes): Move veclower after SSA. * tree-vect-generic.c (expand_vector_operations_1): Handle conversion. gcc/testsuite/ * gcc.dg/vec-scal-opt.c: New testcase. * gcc.dg/vec-scal-opt1.c: New testcase. * gcc.dg/vec-scal-opt2.c: New testcase. bootstrapped and tested on x86_64_unknown-linux OK?