Hello! These two tests require non_strict_aligned effective target, since IPA fails in tree_non_mode_aligned_mem_p () for "cow" and "calf" candidates for STRICT_ALIGNMENT targets. Mode alignment requires 32 bytes, while data is aligned to 8 bytes.
2011-10-19 Uros Bizjak <ubiz...@gmail.com> * gcc.dg/ipa/ipa-sra-2.c: Add dg-require-effective-target non_strict_align. * gcc.dg/ipa/ipa-sra-6.c: Ditto. Tested on x86_64-pc-linux-gnu and alphaev68-pc-linux-gnu, where the patch "fixes": FAIL: gcc.dg/ipa/ipa-sra-2.c scan-tree-dump eipa_sra "About to replace expr cow_.*D.->red with \\*ISRA" FAIL: gcc.dg/ipa/ipa-sra-2.c scan-tree-dump eipa_sra "About to replace expr cow_.*D.->green with ISRA" FAIL: gcc.dg/ipa/ipa-sra-2.c scan-tree-dump eipa_sra "About to replace expr calf_.*D.->red with \\*ISRA" FAIL: gcc.dg/ipa/ipa-sra-2.c scan-tree-dump eipa_sra "About to replace expr calf_.*D.->green with ISRA" FAIL: gcc.dg/ipa/ipa-sra-6.c scan-tree-dump-times eipa_sra "foo " 1 OK for mainline and 4.6 branch? Uros.
Index: gcc.dg/ipa/ipa-sra-2.c =================================================================== --- gcc.dg/ipa/ipa-sra-2.c (revision 180193) +++ gcc.dg/ipa/ipa-sra-2.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-details" } */ +/* { dg-require-effective-target non_strict_align } */ struct bovid { Index: gcc.dg/ipa/ipa-sra-6.c =================================================================== --- gcc.dg/ipa/ipa-sra-6.c (revision 180193) +++ gcc.dg/ipa/ipa-sra-6.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-slim" } */ +/* { dg-require-effective-target non_strict_align } */ struct bovid {