[PATCH] rs6000: Builtin test changes for int_128bit-runnable.c

Bill Schmidt wschmidt@linux.ibm.com
Thu Nov 18 16:09:53 GMT 2021


Hi!  This patch is broken out from the test case patch for the new builtins 
support.

The old builtins code performs gimple folding on 128-bit compares.  This
results in correct but very inefficient code.  (I suspect we may be
missing some optab entries, misleading gimple into 64-bit emulation.)  In
the new support, I disabled this gimple folding, which results in us
directly generating the 128-bit comparison instructions.  This patch
adjusts the scan-assembler-times counts for those instructions.

I've opened PR103316 to track this.

Tested on powerpc64le-linux-gnu and powerpc64-linux-gnu (-m32/-m64) with
no regressions.  Is this okay for trunk?

Thanks!
Bill


2021-11-17  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/testsuite/
	* gcc.target/powerpc/int_128bit-runnable.c: Adjust instruction
	counts since we do better by not gimple-folding some builtins.
---
 gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c b/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c
index 1255ee9f0ab..1356793635a 100644
--- a/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c
+++ b/gcc/testsuite/gcc.target/powerpc/int_128bit-runnable.c
@@ -11,9 +11,9 @@
 /* { dg-final { scan-assembler-times {\mvrlq\M} 2 } } */
 /* { dg-final { scan-assembler-times {\mvrlqnm\M} 2 } } */
 /* { dg-final { scan-assembler-times {\mvrlqmi\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mvcmpequq\M} 16 } } */
-/* { dg-final { scan-assembler-times {\mvcmpgtsq\M} 16 } } */
-/* { dg-final { scan-assembler-times {\mvcmpgtuq\M} 16 } } */
+/* { dg-final { scan-assembler-times {\mvcmpequq\M} 24 } } */
+/* { dg-final { scan-assembler-times {\mvcmpgtsq\M} 26 } } */
+/* { dg-final { scan-assembler-times {\mvcmpgtuq\M} 26 } } */
 /* { dg-final { scan-assembler-times {\mvmuloud\M} 1 } } */
 /* { dg-final { scan-assembler-times {\mvmulesd\M} 1 } } */
 /* { dg-final { scan-assembler-times {\mvmulosd\M} 1 } } */
-- 
2.27.0




More information about the Gcc-patches mailing list