public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-2983] rs6000/test: Adjust pr104992.c with vect_int_mod [PR106516]
@ 2022-09-30 12:18 Kewen Lin
  0 siblings, 0 replies; only message in thread
From: Kewen Lin @ 2022-09-30 12:18 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:c28957176dc0adff6e4b8fcbe6b91f5b82900563

commit r13-2983-gc28957176dc0adff6e4b8fcbe6b91f5b82900563
Author: Kewen Lin <linkw@linux.ibm.com>
Date:   Fri Sep 30 07:16:36 2022 -0500

    rs6000/test: Adjust pr104992.c with vect_int_mod [PR106516]
    
    As PR106516 shows, we can get unexpected gimple outputs for
    function thud on some target which supports modulus operation
    for vector int.  This patch introduces one effective target
    vect_int_mod for it, then adjusts the test case with it.
    
            PR testsuite/106516
    
    gcc/testsuite/ChangeLog:
    
            * gcc.dg/pr104992.c: Adjust with vect_int_mod.
            * lib/target-supports.exp (check_effective_target_vect_int_mod): New
            effective target.

Diff:
---
 gcc/testsuite/gcc.dg/pr104992.c       | 3 ++-
 gcc/testsuite/lib/target-supports.exp | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.dg/pr104992.c b/gcc/testsuite/gcc.dg/pr104992.c
index 217c89a458c..82f8c75559c 100644
--- a/gcc/testsuite/gcc.dg/pr104992.c
+++ b/gcc/testsuite/gcc.dg/pr104992.c
@@ -54,4 +54,5 @@ __attribute__((noipa)) unsigned waldo (unsigned x, unsigned y, unsigned z) {
     return x / y * z == x;
 }
 
-/* { dg-final {scan-tree-dump-times " % " 9 "optimized" } } */
+/* { dg-final { scan-tree-dump-times " % " 9 "optimized" { target { ! vect_int_mod } } } } */
+/* { dg-final { scan-tree-dump-times " % " 6 "optimized" { target vect_int_mod } } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 2a2dd05db1e..0a959c63c4a 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8263,6 +8263,14 @@ proc check_effective_target_vect_long_mult { } {
     return $answer
 }
 
+# Return 1 if the target supports vector int modulus, 0 otherwise.
+
+proc check_effective_target_vect_int_mod { } {
+    return [check_cached_effective_target_indexed vect_int_mod {
+      expr { [istarget powerpc*-*-*]
+	     && [check_effective_target_has_arch_pwr10] }}]
+}
+
 # Return 1 if the target supports vector even/odd elements extraction, 0 otherwise.
 
 proc check_effective_target_vect_extract_even_odd { } {

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-30 12:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-30 12:18 [gcc r13-2983] rs6000/test: Adjust pr104992.c with vect_int_mod [PR106516] Kewen Lin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).