Segher: I was requested to backport the patch for the AIX test case failures to GCC 8. The trunk patch applied cleanly to GCC 8. I updated the changelog patch, built and retested the patch 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 it is OK to apply the patch to the GCC 8 branch. Thanks. Carl Love ------------------------------------------------- gcc/testsuite/ChangeLog: 2018-07-17 Carl Love <c...@us.ibm.com> Backport from mainline 2018-07-16 Carl Love <c...@us.ibm.com> PR target/86414 * gcc.target/powerpc/divkc3-2.c: Add dg-require-effective-target longdouble128. * gcc.target/powerpc/divkc3-3.c: Ditto. * gcc.target/powerpc/mulkc3-2.c: Ditto. * gcc.target/powerpc/mulkc3-3.c: Ditto. * gcc.target/powerpc/fold-vec-mergehl-double.c: Update counts. * gcc.target/powerpc/pr85456.c: Make check Linux and AIX specific. --- gcc/testsuite/gcc.target/powerpc/divkc3-2.c | 1 + gcc/testsuite/gcc.target/powerpc/divkc3-3.c | 1 + gcc/testsuite/gcc.target/powerpc/fold-vec-mergehl-double.c | 4 +--- gcc/testsuite/gcc.target/powerpc/mulkc3-2.c | 1 + gcc/testsuite/gcc.target/powerpc/mulkc3-3.c | 1 + gcc/testsuite/gcc.target/powerpc/pr85456.c | 3 ++- 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gcc.target/powerpc/divkc3-2.c b/gcc/testsuite/gcc.target/powerpc/divkc3-2.c index d3fcbed..e34ed40 100644 --- a/gcc/testsuite/gcc.target/powerpc/divkc3-2.c +++ b/gcc/testsuite/gcc.target/powerpc/divkc3-2.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ +/* { dg-require-effective-target longdouble128 } */ /* { dg-options "-O2 -mpower8-vector -mabi=ieeelongdouble -Wno-psabi" } */ /* Check that complex multiply generates the right call when long double is diff --git a/gcc/testsuite/gcc.target/powerpc/divkc3-3.c b/gcc/testsuite/gcc.target/powerpc/divkc3-3.c index 45695fe..c0fda8b 100644 --- a/gcc/testsuite/gcc.target/powerpc/divkc3-3.c +++ b/gcc/testsuite/gcc.target/powerpc/divkc3-3.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ +/* { dg-require-effective-target longdouble128 } */ /* { dg-options "-O2 -mpower8-vector -mabi=ibmlongdouble -Wno-psabi" } */ /* Check that complex multiply generates the right call when long double is 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..14f9448 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,5 @@ 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..eee6de9 100644 --- a/gcc/testsuite/gcc.target/powerpc/mulkc3-2.c +++ b/gcc/testsuite/gcc.target/powerpc/mulkc3-2.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ +/* { dg-require-effective-target longdouble128 } */ /* { dg-options "-O2 -mpower8-vector -mabi=ieeelongdouble -Wno-psabi" } */ /* Check that complex multiply generates the right call when long double is diff --git a/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c b/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c index db87301..b6d2bdf 100644 --- a/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c +++ b/gcc/testsuite/gcc.target/powerpc/mulkc3-3.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-require-effective-target powerpc_p8vector_ok } */ +/* { dg-require-effective-target longdouble128 } */ /* { dg-options "-O2 -mpower8-vector -mabi=ibmlongdouble -Wno-psabi" } */ /* Check that complex multiply generates the right call when long double is 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