re PR target/68609 (PowerPC reciprocal estimate missed opportunities)
authorDavid Edelsohn <dje.gcc@gmail.com>
Fri, 15 Jan 2016 23:04:23 +0000 (23:04 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Fri, 15 Jan 2016 23:04:23 +0000 (18:04 -0500)
        PR target/68609
        * gcc.target/powerpc/recip-1.c: Adjust for Goldschmidt's Algorithm.
        * gcc.target/powerpc/recip-2.c: Same.
        * gcc.target/powerpc/recip-3.c: Same.
        * gcc.target/powerpc/recip-4.c: Same.
        * gcc.target/powerpc/recip-sqrtf.c: Same.

From-SVN: r232456

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/recip-1.c
gcc/testsuite/gcc.target/powerpc/recip-2.c
gcc/testsuite/gcc.target/powerpc/recip-3.c
gcc/testsuite/gcc.target/powerpc/recip-4.c
gcc/testsuite/gcc.target/powerpc/recip-sqrtf.c

index d9a9246..451003a 100644 (file)
@@ -1,3 +1,12 @@
+2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/68609
+       * gcc.target/powerpc/recip-1.c: Adjust for Goldschmidt's Algorithm.
+       * gcc.target/powerpc/recip-2.c: Same.
+       * gcc.target/powerpc/recip-3.c: Same.
+       * gcc.target/powerpc/recip-4.c: Same.
+       * gcc.target/powerpc/recip-sqrtf.c: Same.
+
 2016-01-15  Jeff Law  <law@redhat.com>
 
        PR tree-optimization/69270
index 3c41d47..33df28e 100644 (file)
@@ -3,9 +3,9 @@
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power6" } } */
 /* { dg-options "-O2 -mrecip -ffast-math -mcpu=power6" } */
 /* { dg-final { scan-assembler-times "frsqrte" 2 } } */
-/* { dg-final { scan-assembler-times "fmsub" 2 } } */
-/* { dg-final { scan-assembler-times "fmul" 6 } } */
+/* { dg-final { scan-assembler-times "fmul" 4 } } */
 /* { dg-final { scan-assembler-times "fnmsub" 3 } } */
+/* { dg-final { scan-assembler-times "fmadd" 4 } } */
 
 double
 rsqrt_d (double a)
index e841302..bf8d968 100644 (file)
@@ -3,9 +3,10 @@
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power5" } } */
 /* { dg-options "-O2 -mrecip -ffast-math -mcpu=power5" } */
 /* { dg-final { scan-assembler-times "frsqrtes" 1 } } */
-/* { dg-final { scan-assembler-times "fmsubs" 1 } } */
-/* { dg-final { scan-assembler-times "fmuls" 6 } } */
+/* { dg-final { scan-assembler-times "fmuls" 2 } } */
 /* { dg-final { scan-assembler-times "fnmsubs" 3 } } */
+/* { dg-final { scan-assembler-times "fmadds" 5 } } */
+/* { dg-final { scan-assembler-times "fadds" 1 } } */
 /* { dg-final { scan-assembler-times "fsqrt" 1 } } */
 
 /* power5 resqrte is not accurate enough, and should not be generated by
index a1ed5c3..e3496ab 100644 (file)
@@ -3,12 +3,12 @@
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
 /* { dg-options "-O2 -mrecip -ffast-math -mcpu=power7" } */
 /* { dg-final { scan-assembler-times "xsrsqrtedp\|frsqrte\ " 1 } } */
-/* { dg-final { scan-assembler-times "xsmsub.dp\|fmsub\ " 1 } } */
-/* { dg-final { scan-assembler-times "xsmuldp\|fmul\ " 4 } } */
+/* { dg-final { scan-assembler-times "xsmuldp\|fmul\ " 2 } } */
 /* { dg-final { scan-assembler-times "xsnmsub.dp\|fnmsub\ " 2 } } */
+/* { dg-final { scan-assembler-times "xsmadd.dp\|fmadd\ " 3 } } */
 /* { dg-final { scan-assembler-times "xsrsqrtesp\|frsqrtes" 1 } } */
-/* { dg-final { scan-assembler-times "xsmsub.sp\|fmsubs" 1 } } */
 /* { dg-final { scan-assembler-times "xsmulsp\|fmuls" 2 } } */
+/* { dg-final { scan-assembler-times "xsmadd.sp\|fmadds" 1 } } */
 /* { dg-final { scan-assembler-times "xsnmsub.sp\|fnmsubs" 1 } } */
 
 double
index 7d95cc9..54002d3 100644 (file)
@@ -3,13 +3,13 @@
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
 /* { dg-options "-O3 -ftree-vectorize -mrecip -ffast-math -mcpu=power7 -fno-unroll-loops" } */
 /* { dg-final { scan-assembler-times "xvrsqrtedp" 1 } } */
-/* { dg-final { scan-assembler-times "xvmsub.dp" 1 } } */
-/* { dg-final { scan-assembler-times "xvmuldp" 4 } } */
+/* { dg-final { scan-assembler-times "xvmuldp" 2 } } */
 /* { dg-final { scan-assembler-times "xvnmsub.dp" 2 } } */
+/* { dg-final { scan-assembler-times "xvmadd.dp" 3 } } */
 /* { dg-final { scan-assembler-times "xvrsqrtesp" 1 } } */
-/* { dg-final { scan-assembler-times "xvmsub.sp" 1 } } */
 /* { dg-final { scan-assembler-times "xvmulsp" 2 } } */
 /* { dg-final { scan-assembler-times "xvnmsub.sp" 1 } } */
+/* { dg-final { scan-assembler-times "xvmadd.sp" 1 } } */
 
 #define SIZE 1024
 
index 9279883..29839da 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -ffast-math -mcpu=power5 -mrecip" } */
+/* { dg-options "-O2 -ffast-math -mcpu=power6 -mrecip" } */
 
 extern float sqrtf (float);