GCC Maintainers: The following patch addresses test failures on AIX.
The patch has been tested on powerpc64le-unknown-linux-gnu (Power 8 LE) powerpc64-unknown-linux-gnu (Power 8 BE) AIX 7200-00-01-1543 (Power 8 BE) With no regressions. Please let me know if the patch looks OK for GCC mainline. Carl Love ---------------------------------------------------------------------- gcc/testsuite/ChangeLog: 2018-06-22 Carl Love <c...@us.ibm.com> * gcc.target/powerpc/divkc3-2.c: Make check Linux and AIX specific. * gcc.target/powerpc/divkc3-3.c: Make check Linux and AIX specific. * gcc.target/powerpc/fold-vec-mergehl-double.c: Update counts. * gcc.target/powerpc/mulkc3-2.c: Make check Linux and AIX specific. * gcc.target/powerpc/mulkc3-3.c: Make check Linux and AIX specific. * gcc.target/powerpc/pr85456.c: Make check Linux and AIX specific. --- gcc/testsuite/gcc.target/powerpc/divkc3-2.c | 3 ++- gcc/testsuite/gcc.target/powerpc/divkc3-3.c | 3 ++- gcc/testsuite/gcc.target/powerpc/fold-vec-mergehl-double.c | 5 ++--- gcc/testsuite/gcc.target/powerpc/mulkc3-2.c | 3 ++- gcc/testsuite/gcc.target/powerpc/mulkc3-3.c | 3 ++- gcc/testsuite/gcc.target/powerpc/pr85456.c | 3 ++- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/gcc/testsuite/gcc.target/powerpc/divkc3-2.c b/gcc/testsuite/gcc.target/powerpc/divkc3-2.c index d3fcbed..79d9157 100644 --- a/gcc/testsuite/gcc.target/powerpc/divkc3-2.c +++ b/gcc/testsuite/gcc.target/powerpc/divkc3-2.c @@ -13,4 +13,5 @@ divide (cld_t *p, cld_t *q, cld_t *r) *p = *q / *r; } -/* { dg-final { scan-assembler "bl __divkc3" } } */ +/* { dg-final { scan-assembler "bl __divkc3" { target { powerpc*-*-linux* } } } } */ +/* { dg-final { scan-assembler "bl .__divdc3" { target { powerpc*-*-aix* } } } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/divkc3-3.c b/gcc/testsuite/gcc.target/powerpc/divkc3-3.c index 45695fe..462e77f 100644 --- a/gcc/testsuite/gcc.target/powerpc/divkc3-3.c +++ b/gcc/testsuite/gcc.target/powerpc/divkc3-3.c @@ -13,4 +13,5 @@ divide (cld_t *p, cld_t *q, cld_t *r) *p = *q / *r; } -/* { dg-final { scan-assembler "bl __divtc3" } } */ +/* { dg-final { scan-assembler "bl __divtc3" { target { powerpc*-*-linux* } } } } */ +/* { dg-final { scan-assembler "bl .__divdc3" { target { powerpc*-*-aix* } } } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-mergehl-double.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-mergehl-double.c index 25f4bc6..403876d 100644 --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-mergehl-double.c +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-mergehl-double.c @@ -19,7 +19,6 @@ testd_h (vector double vd2, vector double vd3) return vec_mergeh (vd2, vd3); } -/* vec_merge with doubles tend to just use xxpermdi (3 ea for BE, 1 ea for LE). */ -/* { dg-final { scan-assembler-times "xxpermdi" 2 { target { powerpc*le-*-* } } } } */ -/* { dg-final { scan-assembler-times "xxpermdi" 6 { target { powerpc-*-* } } } } */ +/* { dg-final { scan-assembler-times "xxpermdi" 2 } } */ + diff --git a/gcc/testsuite/gcc.target/powerpc/mulkc3-2.c b/gcc/testsuite/gcc.target/powerpc/mulkc3-2.c index 9ba577a..f3ba80e 100644 --- a/gcc/testsuite/gcc.target/powerpc/mulkc3-2.c +++ b/gcc/testsuite/gcc.target/powerpc/mulkc3-2.c @@ -13,4 +13,5 @@ multiply (cld_t *p, cld_t *q, cld_t *r) *p = *q * *r; } -/* { dg-final { scan-assembler "bl __mulkc3" } } */ +/* { dg-final { scan-assembler "bl __mulkc3" { target { powerpc*-*-linux* } } } } */ +/* { dg-final { scan-assembler "bl .__muldc3" { target { powerpc*-*-aix* } } } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c b/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c index db87301..0c27dea 100644 --- a/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c +++ b/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c @@ -13,4 +13,5 @@ multiply (cld_t *p, cld_t *q, cld_t *r) *p = *q * *r; } -/* { dg-final { scan-assembler "bl __multc3" } } */ +/* { dg-final { scan-assembler "bl __multc3" { target { powerpc*-*-linux* } } } } */ +/* { dg-final { scan-assembler "bl .__muldc3" { target { powerpc*-*-aix* } } } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/pr85456.c b/gcc/testsuite/gcc.target/powerpc/pr85456.c index b9df16a..b928292 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr85456.c +++ b/gcc/testsuite/gcc.target/powerpc/pr85456.c @@ -11,4 +11,5 @@ do_powl (long double a, int i) return __builtin_powil (a, i); } -/* { dg-final { scan-assembler "bl __powikf2" } } */ +/* { dg-final { scan-assembler "bl __powikf2" { target { powerpc*-*-linux* } } } } */ +/* { dg-final { scan-assembler "bl .__powidf2" { target { powerpc*-*-aix* } } } } */ -- 2.7.4