Just to ensure that this obvious commit gets noted... ( the other copy of the patch is buried in this AArch64 specific thread: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00328.html )
By the sort of exceptional bad luck that only comes around once every thousand builtins, we now define enough builtins when compiling for aarch64-none-linux-gnu that gcc.dg/tree-ssa/foldconst-6.c happens to fail. The test looks for "666" appearing anywhere in the dumps, but if you happen to have 2665 other decls kicking around, you may well get a decl_uid of 2666, as we will with aarch64-none-linux-gnu until we inevitably add some more builtins. ;; Function f (f, funcdef_no=0, decl_uid=2666, cgraph_uid=0, symbol_order=0) f (vec * r) { vec b; vec a; <bb 2>: *r_5(D) = { -1, 0 }; return; } This patch modifies the pattern the test is looking for to also use the first element of the vector. The test now passes on AArch64. I also hacked out the vector comparison folding code and confirmed that this test started failing. I've committed this under the obvious rule as revision 220440. Cheers, James --- 2014-02-05 James Greenhalgh <james.greenha...@arm.com> * gcc.dg/tree-ssa/foldconst-6.c: Change expected pattern for tree dump scanning.
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/foldconst-6.c b/gcc/testsuite/gcc.dg/tree-ssa/foldconst-6.c index 0c08f8f..92424b8 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/foldconst-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/foldconst-6.c @@ -10,5 +10,5 @@ void f (vec *r) *r = a < b; } -/* { dg-final { scan-tree-dump-not "666" "ccp1"} } */ +/* { dg-final { scan-tree-dump-not "2, 666" "ccp1" } } */ /* { dg-final { cleanup-tree-dump "ccp1" } } */