Bug 101020 - [12 regression] Several test case failures after r12-1316
Summary: [12 regression] Several test case failures after r12-1316
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: testsuite (show other bugs)
Version: 12.0
: P3 normal
Target Milestone: 12.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-06-10 17:03 UTC by seurer
Modified: 2021-06-16 00:57 UTC (History)
3 users (show)

See Also:
Host: powerpc64-linux-gnu
Target: powerpc64-linux-gnu
Build: powerpc64-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2021-06-11 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description seurer 2021-06-10 17:03:47 UTC
g:f700e4b0ee3ef53b48975cf89be26b9177e3a3f3, r12-1316

FAIL: gcc.target/powerpc/float128-call.c scan-assembler lvx 2
FAIL: gcc.target/powerpc/float128-call.c scan-assembler lvx 2
FAIL: gcc.target/powerpc/float128-call.c scan-assembler stvx 2
FAIL: gcc.target/powerpc/float128-call.c scan-assembler stvx 2
FAIL: gcc.target/powerpc/pr100085.c (test for excess errors)

The changes fail and new test fails on powerpc64 BE.


commit f700e4b0ee3ef53b48975cf89be26b9177e3a3f3
Author: Xionghu Luo <luoxhu@linux.ibm.com>
Date:   Tue Jun 8 21:48:12 2021 -0500

    rs6000: Support doubleword swaps removal in rot64 load store [PR100085]
    
  
        * gcc.target/powerpc/float128-call.c: Adjust.
        * gcc.target/powerpc/pr100085.c: New test.
Comment 1 Xionghu Luo (luoxhu@gcc.gnu.org) 2021-06-11 02:43:08 UTC
Confirmed. The BE-m32 test is a nightmare to me... :(

For float128-call.c, need check target BE or LE.
And for pr100085.c, vector __int128 is not supported with {-m32}, just skip it.
Ok to trunk?


[PATCH] rs6000: Fix test case failures by PR100085 [PR101020]

gcc/testsuite/ChangeLog:

        PR target/101020
        * gcc.target/powerpc/float128-call.c: Adjust.
        * gcc.target/powerpc/pr100085.c: Likewise.
---
 gcc/testsuite/gcc.target/powerpc/float128-call.c | 6 ++++--
 gcc/testsuite/gcc.target/powerpc/pr100085.c      | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/gcc.target/powerpc/float128-call.c b/gcc/testsuite/gcc.target/powerpc/float128-call.c
index a1f09df..b64ffc6 100644
--- a/gcc/testsuite/gcc.target/powerpc/float128-call.c
+++ b/gcc/testsuite/gcc.target/powerpc/float128-call.c
@@ -21,5 +21,7 @@
 TYPE one (void) { return ONE; }
 void store (TYPE a, TYPE *p) { *p = a; }

-/* { dg-final { scan-assembler "lvx 2"  } } */
-/* { dg-final { scan-assembler "stvx 2" } } */
+/* { dg-final { scan-assembler {\mlxvd2x 34\M} {target be} } } */
+/* { dg-final { scan-assembler {\mstxvd2x 34\M} {target be} } } */
+/* { dg-final { scan-assembler {\mlvx 2\M} {target le} } }  */
+/* { dg-final { scan-assembler {\mstvx 2\M} {target le} } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/pr100085.c b/gcc/testsuite/gcc.target/powerpc/pr100085.c
index 7d8b147..b6738ea 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr100085.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr100085.c
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile {target lp64} } */
 /* { dg-options "-O2 -mdejagnu-cpu=power8" } */
Comment 2 David Edelsohn 2021-06-11 13:16:07 UTC
I already have a patch for the first part of this.  This should test dg-require target int128 and float128, not lp64.
Comment 3 GCC Commits 2021-06-15 01:07:01 UTC
The master branch has been updated by Xiong Hu Luo <luoxhu@gcc.gnu.org>:

https://gcc.gnu.org/g:327a6b55e171669f2e72588570c931cd000822d0

commit r12-1443-g327a6b55e171669f2e72588570c931cd000822d0
Author: Xionghu Luo <luoxhu@linux.ibm.com>
Date:   Mon Jun 14 20:00:11 2021 -0500

    rs6000: Fix test case failures by PR100085 [PR101020]
    
    Tested pass, committing as obvious.
    
    gcc/testsuite/ChangeLog:
    
    2021-06-14  Xionghu Luo  <luoxhu@linux.ibm.com>
    
            PR target/101020
            * gcc.target/powerpc/float128-call.c: Adjust counts for be and le.
Comment 4 Xionghu Luo (luoxhu@gcc.gnu.org) 2021-06-16 00:57:39 UTC
Fixed.