-
- Downloads
testsuite: check for and use -mno-strict-align where needed
Various tests fail on powerpc if the toolchain is configured to enable -mstrict-align by default. This patch introduces -mno-strict-align on tests found to fail that way, when the target supports this option. I suppose !non_strict_align could be used to skip tests, instead of or in addition to this tweak, and that might be desirable if they still fail on targets that do no support -mno-strict-align, but I haven't observed such scenarios. The p9-vec-length tests expect vectorization on loop bodies and epilogues that reference arrays that are not known to be more aligned than their small element types. Though VSX vectors work best with 32- or 64-bit alignment, unaligned vector loads and stores are expected by the tests. However, with -mstrict-align by default, vector loads and stores not known to be aligned end up open coded, which doesn't match the asm output expectations coded in the tests. for gcc/ChangeLog * doc/sourcebuild.texi (opt_mstrict_align): New target. for gcc/testsuite/ChangeLog * lib/target-supports.exp (check_effective_target_opt_mstrict_align): New. * gcc.dg/strlenopt-80.c: Add -mno-strict-align if supported. * gcc.target/powerpc/prefix-ds-dq.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-1.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-2.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-3.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-4.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-5.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-6.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-7.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-1.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-2.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-3.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-4.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-5.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-6.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-7.c: Likewise. * gcc.target/powerpc/p9-vec-length-epil-run-8.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-1.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-2.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-3.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-4.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-5.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-6.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-7.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-8.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-1.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-2.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-3.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-4.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-5.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-6.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-7.c: Likewise. * gcc.target/powerpc/p9-vec-length-full-run-8.c: Likewise.
Showing
- gcc/doc/sourcebuild.texi 3 additions, 0 deletionsgcc/doc/sourcebuild.texi
- gcc/testsuite/gcc.dg/strlenopt-80.c 4 additions, 0 deletionsgcc/testsuite/gcc.dg/strlenopt-80.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-1.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-1.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-2.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-2.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-3.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-3.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-4.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-4.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-5.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-5.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-6.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-6.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-7.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-7.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-8.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-8.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-1.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-1.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-2.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-2.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-3.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-3.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-4.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-4.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-5.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-5.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-6.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-6.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-7.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-7.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-8.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-epil-run-8.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-full-1.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-full-1.c
- gcc/testsuite/gcc.target/powerpc/p9-vec-length-full-2.c 2 additions, 0 deletionsgcc/testsuite/gcc.target/powerpc/p9-vec-length-full-2.c
Loading
Please register or sign in to comment