On Mon, 13 May 2013, Jakub Jelinek wrote:
On Sun, May 12, 2013 at 02:04:52PM +0200, Marc Glisse wrote:
this patch passes bootstrap+testsuite on x86_64-linux-gnu. When
moving uniform_vector_p, I only added the gcc_assert. Note that the
fold_binary patch helps for constant vectors, but not for {n,n,n,n},
which will require some help in forwprop for instance. This
transformation is already done by the vector lowering pass, but
that's too late in my opinion.
2013-05-13 Marc Glisse <marc.gli...@inria.fr>
gcc/
* tree-vect-generic.c (uniform_vector_p): Move ...
* tree.c (uniform_vector_p): ... here.
* tree.h (uniform_vector_p): Declare it.
* fold-const.c (fold_binary_loc) <shift>: Turn the second argument
into a scalar.
gcc/testsuite/
* gcc.dg/vector-shift-2.c: New testcase.
The testcase is UNSUPPORTED everywhere, because ccp1 dump isn't produced at
-O0.
Argh! contrib/compare_tests only showed me:
New tests that PASS:
gcc.dg/vector-shift-2.c (test for excess errors)
And I happily went ahead...
Did you mean to add -O2 (or -O or -O3 etc.) to dg-options?
-O is enough. Could you commit that please? Or I can do it in a couple
hours.
Thanks for the notice and sorry for the breakage,
--
Marc Glisse