RISC-V: revert pr114194 tests on gcc-14 [PR118601]

Message ID orcydet5l4.fsf_-_@lxoliva.fsfla.org
State Accepted
Delegated to: Jeff Law
Headers
Series RISC-V: revert pr114194 tests on gcc-14 [PR118601] |

Checks

Context Check Description
rivoscibot/toolchain-ci-rivos-apply-patch fail Patch failed to apply
rivoscibot/toolchain-ci-rivos-lint success Lint passed
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 fail Patch failed to apply

Commit Message

Alexandre Oliva April 15, 2025, 4:24 a.m. UTC
  And here's another that came up more recently:

The gcc-14 backport that split the pr114194 testcase for rv32 and rv64
would only generate the expected rv32 sequence if commit
6b315907c0353f71169a7555e653d29a981fef67 had also been backported, but
it wasn't.  Without it, we get the same code as before on both rv32
and rv64, so revert to the original test.

Also tested on riscv64-elf and riscv32-elf on x86_64-linux-gnu.
Ok for gcc-14?


for  gcc/testsuite/ChangeLog

	PR target/118601
	* gcc.target/riscv/rvv/xtheadvector/pr114194.c: Restore.
	* gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c: Remove.
	* gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c: Likewise.
---
 .../riscv/rvv/xtheadvector/pr114194-rv32.c         |   51 ------------------
 .../riscv/rvv/xtheadvector/pr114194-rv64.c         |   55 --------------------
 .../gcc.target/riscv/rvv/xtheadvector/pr114194.c   |   56 ++++++++++++++++++++
 3 files changed, 56 insertions(+), 106 deletions(-)
 delete mode 100644 gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c
 delete mode 100644 gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c
  

Comments

Kito Cheng April 15, 2025, 6:50 a.m. UTC | #1
LGTM, thanks :)

Alexandre Oliva <oliva@adacore.com> 於 2025年4月15日 週二 12:25 寫道:

>
> And here's another that came up more recently:
>
> The gcc-14 backport that split the pr114194 testcase for rv32 and rv64
> would only generate the expected rv32 sequence if commit
> 6b315907c0353f71169a7555e653d29a981fef67 had also been backported, but
> it wasn't.  Without it, we get the same code as before on both rv32
> and rv64, so revert to the original test.
>
> Also tested on riscv64-elf and riscv32-elf on x86_64-linux-gnu.
> Ok for gcc-14?
>
>
> for  gcc/testsuite/ChangeLog
>
>         PR target/118601
>         * gcc.target/riscv/rvv/xtheadvector/pr114194.c: Restore.
>         * gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c: Remove.
>         * gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c: Likewise.
> ---
>  .../riscv/rvv/xtheadvector/pr114194-rv32.c         |   51
> ------------------
>  .../riscv/rvv/xtheadvector/pr114194-rv64.c         |   55
> --------------------
>  .../gcc.target/riscv/rvv/xtheadvector/pr114194.c   |   56
> ++++++++++++++++++++
>  3 files changed, 56 insertions(+), 106 deletions(-)
>  delete mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c
>  delete mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c
>
> diff --git
> a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c
> b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c
> deleted file mode 100644
> index 0bee5ec33de83..0000000000000
> --- a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -/* { dg-do compile { target rv32 } } */
> -/* { dg-options "-march=rv32gc_xtheadvector -O2" } */
> -/* { dg-final { check-function-bodies "**" "" } } */
> -
> -/*
> -** foo0_1:
> -**     sb\tzero,0\([a-x0-9]+\)
> -**     ret
> -*/
> -void foo0_1 (void *p)
> -{
> -  __builtin_memset (p, 0, 1);
> -}
> -
> -/*
> -** foo0_7:
> -**     li\t[a-x0-9]+,7
> -**     th.vsetvli\tzero,[a-x0-9]+,e8,m1
> -**     th\.vmv\.v\.i\tv[0-9],0
> -**     th\.vse\.v\tv[0-9]+,0\([a-x0-9]+\)
> -**     ret
> -*/
> -void foo0_7 (void *p)
> -{
> -  __builtin_memset (p, 0, 7);
> -}
> -
> -/*
> -** foo1_1:
> -**     li\t[a-x0-9]+,1
> -**     sb\t[a-x0-9]+,0\([a-x0-9]+\)
> -**     ret
> -*/
> -void foo1_1 (void *p)
> -{
> -  __builtin_memset (p, 1, 1);
> -}
> -
> -/*
> -** foo1_5:
> -**     li\t[a-x0-9]+,5
> -**     th.vsetvli\tzero,[a-x0-9]+,e8,m1
> -**     th\.vmv\.v\.i\tv[0-9],1
> -**     th\.vse\.v\tv[0-9]+,0\([a-x0-9]+\)
> -**     ret
> -*/
> -
> -void foo1_5 (void *p)
> -{
> -  __builtin_memset (p, 1, 5);
> -}
> diff --git
> a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c
> b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c
> deleted file mode 100644
> index 84333c1cf5a7c..0000000000000
> --- a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -/* { dg-do compile { target rv64 } } */
> -/* { dg-options "-march=rv64gc_xtheadvector -O2" } */
> -/* { dg-final { check-function-bodies "**" "" } } */
> -
> -/*
> -** foo0_1:
> -**     sb\tzero,0\([a-x0-9]+\)
> -**     ret
> -*/
> -void foo0_1 (void *p)
> -{
> -  __builtin_memset (p, 0, 1);
> -}
> -
> -/*
> -** foo0_7:
> -**     sb\tzero,0\([a-x0-9]+\)
> -**     sb\tzero,1\([a-x0-9]+\)
> -**     sb\tzero,2\([a-x0-9]+\)
> -**     sb\tzero,3\([a-x0-9]+\)
> -**     sb\tzero,4\([a-x0-9]+\)
> -**     sb\tzero,5\([a-x0-9]+\)
> -**     sb\tzero,6\([a-x0-9]+\)
> -**     ret
> -*/
> -void foo0_7 (void *p)
> -{
> -  __builtin_memset (p, 0, 7);
> -}
> -
> -/*
> -** foo1_1:
> -**     li\t[a-x0-9]+,1
> -**     sb\t[a-x0-9]+,0\([a-x0-9]+\)
> -**     ret
> -*/
> -void foo1_1 (void *p)
> -{
> -  __builtin_memset (p, 1, 1);
> -}
> -
> -/*
> -** foo1_5:
> -**     li\t[a-x0-9]+,1
> -**     sb\t[a-x0-9]+,0\([a-x0-9]+\)
> -**     sb\t[a-x0-9]+,1\([a-x0-9]+\)
> -**     sb\t[a-x0-9]+,2\([a-x0-9]+\)
> -**     sb\t[a-x0-9]+,3\([a-x0-9]+\)
> -**     sb\t[a-x0-9]+,4\([a-x0-9]+\)
> -**     ret
> -*/
> -void foo1_5 (void *p)
> -{
> -  __builtin_memset (p, 1, 5);
> -}
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c
> b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c
> new file mode 100644
> index 0000000000000..2e53a7ecc3e71
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c
> @@ -0,0 +1,56 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv32gc_xtheadvector -O2" { target { rv32 } } } */
> +/* { dg-options "-march=rv64gc_xtheadvector -O2" { target { rv64 } } } */
> +/* { dg-final { check-function-bodies "**" "" } } */
> +
> +/*
> +** foo0_1:
> +**     sb\tzero,0\([a-x0-9]+\)
> +**     ret
> +*/
> +void foo0_1 (void *p)
> +{
> +  __builtin_memset (p, 0, 1);
> +}
> +
> +/*
> +** foo0_7:
> +**     sb\tzero,0\([a-x0-9]+\)
> +**     sb\tzero,1\([a-x0-9]+\)
> +**     sb\tzero,2\([a-x0-9]+\)
> +**     sb\tzero,3\([a-x0-9]+\)
> +**     sb\tzero,4\([a-x0-9]+\)
> +**     sb\tzero,5\([a-x0-9]+\)
> +**     sb\tzero,6\([a-x0-9]+\)
> +**     ret
> +*/
> +void foo0_7 (void *p)
> +{
> +  __builtin_memset (p, 0, 7);
> +}
> +
> +/*
> +** foo1_1:
> +**     li\t[a-x0-9]+,1
> +**     sb\t[a-x0-9]+,0\([a-x0-9]+\)
> +**     ret
> +*/
> +void foo1_1 (void *p)
> +{
> +  __builtin_memset (p, 1, 1);
> +}
> +
> +/*
> +** foo1_5:
> +**     li\t[a-x0-9]+,1
> +**     sb\t[a-x0-9]+,0\([a-x0-9]+\)
> +**     sb\t[a-x0-9]+,1\([a-x0-9]+\)
> +**     sb\t[a-x0-9]+,2\([a-x0-9]+\)
> +**     sb\t[a-x0-9]+,3\([a-x0-9]+\)
> +**     sb\t[a-x0-9]+,4\([a-x0-9]+\)
> +**     ret
> +*/
> +void foo1_5 (void *p)
> +{
> +  __builtin_memset (p, 1, 5);
> +}
>
>
> --
> Alexandre Oliva, happy hacker            https://blog.lx.oliva.nom.br/
> Free Software Activist     FSFLA co-founder     GNU Toolchain Engineer
> More tolerance and less prejudice are key for inclusion and diversity.
> Excluding neuro-others for not behaving ""normal"" is *not* inclusive!
>
  
Jeff Law April 16, 2025, 6:50 p.m. UTC | #2
On 4/14/25 10:24 PM, Alexandre Oliva wrote:
> 
> And here's another that came up more recently:
> 
> The gcc-14 backport that split the pr114194 testcase for rv32 and rv64
> would only generate the expected rv32 sequence if commit
> 6b315907c0353f71169a7555e653d29a981fef67 had also been backported, but
> it wasn't.  Without it, we get the same code as before on both rv32
> and rv64, so revert to the original test.
> 
> Also tested on riscv64-elf and riscv32-elf on x86_64-linux-gnu.
> Ok for gcc-14?
> 
> 
> for  gcc/testsuite/ChangeLog
> 
> 	PR target/118601
> 	* gcc.target/riscv/rvv/xtheadvector/pr114194.c: Restore.
> 	* gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c: Remove.
> 	* gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c: Likewise.
OK.
jeff
  

Patch

diff --git a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c
deleted file mode 100644
index 0bee5ec33de83..0000000000000
--- a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv32.c
+++ /dev/null
@@ -1,51 +0,0 @@ 
-/* { dg-do compile { target rv32 } } */
-/* { dg-options "-march=rv32gc_xtheadvector -O2" } */
-/* { dg-final { check-function-bodies "**" "" } } */
-
-/*
-** foo0_1:
-**	sb\tzero,0\([a-x0-9]+\)
-**	ret
-*/
-void foo0_1 (void *p)
-{
-  __builtin_memset (p, 0, 1);
-}
-
-/*
-** foo0_7:
-**	li\t[a-x0-9]+,7
-**	th.vsetvli\tzero,[a-x0-9]+,e8,m1
-**	th\.vmv\.v\.i\tv[0-9],0
-**	th\.vse\.v\tv[0-9]+,0\([a-x0-9]+\)
-**	ret
-*/
-void foo0_7 (void *p)
-{
-  __builtin_memset (p, 0, 7);
-}
-
-/*
-** foo1_1:
-**	li\t[a-x0-9]+,1
-**	sb\t[a-x0-9]+,0\([a-x0-9]+\)
-**	ret
-*/
-void foo1_1 (void *p)
-{
-  __builtin_memset (p, 1, 1);
-}
-
-/*
-** foo1_5:
-**	li\t[a-x0-9]+,5
-**	th.vsetvli\tzero,[a-x0-9]+,e8,m1
-**	th\.vmv\.v\.i\tv[0-9],1
-**	th\.vse\.v\tv[0-9]+,0\([a-x0-9]+\)
-**	ret
-*/
-
-void foo1_5 (void *p)
-{
-  __builtin_memset (p, 1, 5);
-}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c
deleted file mode 100644
index 84333c1cf5a7c..0000000000000
--- a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194-rv64.c
+++ /dev/null
@@ -1,55 +0,0 @@ 
-/* { dg-do compile { target rv64 } } */
-/* { dg-options "-march=rv64gc_xtheadvector -O2" } */
-/* { dg-final { check-function-bodies "**" "" } } */
-
-/*
-** foo0_1:
-**	sb\tzero,0\([a-x0-9]+\)
-**	ret
-*/
-void foo0_1 (void *p)
-{
-  __builtin_memset (p, 0, 1);
-}
-
-/*
-** foo0_7:
-**	sb\tzero,0\([a-x0-9]+\)
-**	sb\tzero,1\([a-x0-9]+\)
-**	sb\tzero,2\([a-x0-9]+\)
-**	sb\tzero,3\([a-x0-9]+\)
-**	sb\tzero,4\([a-x0-9]+\)
-**	sb\tzero,5\([a-x0-9]+\)
-**	sb\tzero,6\([a-x0-9]+\)
-**	ret
-*/
-void foo0_7 (void *p)
-{
-  __builtin_memset (p, 0, 7);
-}
-
-/*
-** foo1_1:
-**	li\t[a-x0-9]+,1
-**	sb\t[a-x0-9]+,0\([a-x0-9]+\)
-**	ret
-*/
-void foo1_1 (void *p)
-{
-  __builtin_memset (p, 1, 1);
-}
-
-/*
-** foo1_5:
-**	li\t[a-x0-9]+,1
-**	sb\t[a-x0-9]+,0\([a-x0-9]+\)
-**	sb\t[a-x0-9]+,1\([a-x0-9]+\)
-**	sb\t[a-x0-9]+,2\([a-x0-9]+\)
-**	sb\t[a-x0-9]+,3\([a-x0-9]+\)
-**	sb\t[a-x0-9]+,4\([a-x0-9]+\)
-**	ret
-*/
-void foo1_5 (void *p)
-{
-  __builtin_memset (p, 1, 5);
-}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c
new file mode 100644
index 0000000000000..2e53a7ecc3e71
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/pr114194.c
@@ -0,0 +1,56 @@ 
+/* { dg-do compile } */
+/* { dg-options "-march=rv32gc_xtheadvector -O2" { target { rv32 } } } */
+/* { dg-options "-march=rv64gc_xtheadvector -O2" { target { rv64 } } } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+/*
+** foo0_1:
+**	sb\tzero,0\([a-x0-9]+\)
+**	ret
+*/
+void foo0_1 (void *p)
+{
+  __builtin_memset (p, 0, 1);
+}
+
+/*
+** foo0_7:
+**	sb\tzero,0\([a-x0-9]+\)
+**	sb\tzero,1\([a-x0-9]+\)
+**	sb\tzero,2\([a-x0-9]+\)
+**	sb\tzero,3\([a-x0-9]+\)
+**	sb\tzero,4\([a-x0-9]+\)
+**	sb\tzero,5\([a-x0-9]+\)
+**	sb\tzero,6\([a-x0-9]+\)
+**	ret
+*/
+void foo0_7 (void *p)
+{
+  __builtin_memset (p, 0, 7);
+}
+
+/*
+** foo1_1:
+**	li\t[a-x0-9]+,1
+**	sb\t[a-x0-9]+,0\([a-x0-9]+\)
+**	ret
+*/
+void foo1_1 (void *p)
+{
+  __builtin_memset (p, 1, 1);
+}
+
+/*
+** foo1_5:
+**	li\t[a-x0-9]+,1
+**	sb\t[a-x0-9]+,0\([a-x0-9]+\)
+**	sb\t[a-x0-9]+,1\([a-x0-9]+\)
+**	sb\t[a-x0-9]+,2\([a-x0-9]+\)
+**	sb\t[a-x0-9]+,3\([a-x0-9]+\)
+**	sb\t[a-x0-9]+,4\([a-x0-9]+\)
+**	ret
+*/
+void foo1_5 (void *p)
+{
+  __builtin_memset (p, 1, 5);
+}