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.
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" } */
I already have a patch for the first part of this. This should test dg-require target int128 and float128, not lp64.
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.
Fixed.