[PATCH, rs6000] Fix AIX test case failures

Carl Love cel@us.ibm.com
Fri Jun 22 21:55:00 GMT 2018


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  <cel@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



More information about the Gcc-patches mailing list