RISC-V: revert pr114194 tests on gcc-14 [PR118601]
Checks
Commit Message
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
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!
>
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
deleted file mode 100644
@@ -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);
-}
deleted file mode 100644
@@ -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);
-}
new file mode 100644
@@ -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);
+}