Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-27 Thread Kito Cheng via Gcc-patches
It should be same issue as
https://github.com/gcc-mirror/gcc/commit/d0bbecb1c418b680505faa998fe420f0fd4bbfc1,
I gonna commit a fix for that.

On Tue, Dec 27, 2022 at 11:04 PM Jeff Law via Gcc-patches
 wrote:
>
>
>
> On 12/26/22 02:20, Andreas Schwab wrote:
> > FAIL: gcc.target/riscv/rvv/vsetvl/dump-1.c   -O0  (test for excess errors)
> > Excess errors:
> > /usr/include/gnu/stubs.h:8:11: fatal error: gnu/stubs-ilp32.h: No such file 
> > or directory
> > compilation terminated.
> Isn't this really an indicator that the ILP32 bits from glibc aren't
> installed and/or the test needs to be conditionalized?
>
> jeff
> >


Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-27 Thread Jeff Law via Gcc-patches




On 12/26/22 02:20, Andreas Schwab wrote:

FAIL: gcc.target/riscv/rvv/vsetvl/dump-1.c   -O0  (test for excess errors)
Excess errors:
/usr/include/gnu/stubs.h:8:11: fatal error: gnu/stubs-ilp32.h: No such file or 
directory
compilation terminated.
Isn't this really an indicator that the ILP32 bits from glibc aren't 
installed and/or the test needs to be conditionalized?


jeff




Re: Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-26 Thread 钟居哲
This is another issue and I have no idea. I think palmer or kito may have know 
how to solve it. 

It seems  this patch 
https://gcc.gnu.org/pipermail/gcc-patches/2022-December/609045.html 
fixed previous issue which is more important. I think it's time to merge it.




juzhe.zh...@rivai.ai
 
From: Andreas Schwab
Date: 2022-12-26 17:20
To: juzhe.zhong
CC: gcc-patches; kito.cheng; palmer
Subject: Re: [PATCH] RISC-V: Add testcases for VSETVL PASS
FAIL: gcc.target/riscv/rvv/vsetvl/dump-1.c   -O0  (test for excess errors)
Excess errors:
/usr/include/gnu/stubs.h:8:11: fatal error: gnu/stubs-ilp32.h: No such file or 
directory
compilation terminated.
 
-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."
 


Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-26 Thread Andreas Schwab
FAIL: gcc.target/riscv/rvv/vsetvl/dump-1.c   -O0  (test for excess errors)
Excess errors:
/usr/include/gnu/stubs.h:8:11: fatal error: gnu/stubs-ilp32.h: No such file or 
directory
compilation terminated.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."


Re: [PATCH] RISC-V: Add testcases for VSETVL PASS 4

2022-12-19 Thread Kito Cheng via Gcc-patches
Commited to trunk

 於 2022年12月14日 週三 16:20 寫道:

> From: Ju-Zhe Zhong 
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: New test.
>
> ---
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-1.c| 182 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-10.c   | 230 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-11.c   |  43 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-12.c   | 266 
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-13.c   | 221 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-14.c   | 221 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-15.c   |  41 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-16.c   | 257 
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-17.c   | 177 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-18.c   | 177 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-19.c   |  34 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-2.c| 182 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-20.c   | 203 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-21.c   | 155 +
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-22.c   | 155 +
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-23.c   |  30 +
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-24.c   | 180 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-25.c   | 572 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-26.c   | 492 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-27.c   | 491 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-28.c   |  86 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-3.c|  35 ++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-4.c| 210 +++
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-5.c| 167 +
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-6.c| 167 +
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-7.c|  32 +
>  .../riscv/rvv/vsetvl/vlmax_bb_prop-8.c| 194 ++
>  .

Re: [PATCH] RISC-V: Add testcases for VSETVL PASS 3

2022-12-19 Thread Kito Cheng via Gcc-patches
Commited to trunk

 於 2022年12月14日 週三 16:16 寫道:

> From: Ju-Zhe Zhong 
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: New test.
>
> ---
>  .../riscv/rvv/vsetvl/vlmax_miss_default-1.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-10.c  |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-11.c  |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-12.c  |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-13.c  |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-14.c  | 189 ++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-15.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-16.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-17.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-18.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-19.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-2.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-20.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-21.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-22.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-23.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-24.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-25.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-26.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-27.c  |  38 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-28.c  | 231 ++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-3.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-4.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-5.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-6.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-7.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-8.c   |  32 +++
>  .../riscv/rvv/vsetvl/vlmax_miss_default-9.c   |  32 +++
>  28 files changed, 1330 insertions(+)
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c
>  create mode 100644
> gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c
>  

Re: [PATCH] RISC-V: Add testcases for VSETVL PASS 5

2022-12-19 Thread Kito Cheng via Gcc-patches
Commited to trunk

 於 2022年12月14日 週三 16:27 寫道:

> From: Ju-Zhe Zhong 
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: New test.
>
> ---
>  .../riscv/rvv/vsetvl/vlmax_back_prop-1.c  |  36 
>  .../riscv/rvv/vsetvl/vlmax_back_prop-10.c |  59 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-11.c |  63 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-12.c |  64 
>  .../riscv/rvv/vsetvl/vlmax_back_prop-13.c |  64 
>  .../riscv/rvv/vsetvl/vlmax_back_prop-14.c |  58 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-15.c | 143 
>  .../riscv/rvv/vsetvl/vlmax_back_prop-16.c |  54 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-17.c |  59 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-18.c |  58 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-19.c |  48 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-2.c  |  50 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-20.c |  59 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-21.c |  50 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-22.c |  58 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-23.c |  41 +
>  .../riscv/rvv/vsetvl/vlmax_back_prop-24.c |  41 +
>  .../riscv/rvv/vsetvl/vlmax_back_prop-25.c |  96 +++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-26.c |  89 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-27.c |  51 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-28.c |  54 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-29.c |  54 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-3.c  |  47 ++
>  .../riscv/rvv/vsetvl/vlmax_back_prop-30.c |  44 +
>  .../riscv/rvv/vsetvl/vlmax_back_prop-31.c |  46 ++
>  .../riscv

Re: [PATCH] RISC-V: Add testcases for VSETVL PASS 2

2022-12-19 Thread Kito Cheng via Gcc-patches
Commited to trunk

 於 2022年12月14日 週三 16:13 寫道:

> From: Ju-Zhe Zhong 
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: New test.
> * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: New test.
>
> ---
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c |  37 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-10.c   |  37 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-11.c   |  37 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-12.c   |  37 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-13.c   |  37 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-14.c   | 217 
>  .../riscv/rvv/vsetvl/vlmax_phi-15.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-16.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-17.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-18.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-19.c   |  40 +++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c |  37 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-20.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-21.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-22.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-23.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-24.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-25.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-26.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-27.c   |  40 +++
>  .../riscv/rvv/vsetvl/vlmax_phi-28.c   | 237 ++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c |  37 +++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c |  37 +++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c |  37 +++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c |  37 +++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c |  37 +++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c |  37 +++
>  .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c |  37 +++
>  .../riscv/rvv/vsetvl/vlmax_switch_vtype-1.c   |  26 ++
>  .../riscv/rvv/vsetvl/vlmax_switch_vtype-10.c  |  47 
>  .../riscv/rvv/vsetvl/vlmax_switch_vtype-11.c  |  55 
> 

Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-18 Thread Kito Cheng via Gcc-patches
Hi Jeff:

> Ah, I should have looked at those regexps closer.  Understood about the
> checking for hoisting the vsetvl.  Though it makes me wonder if we'd be
> better off dumping information out of the vsetvl pass.


I've discussed adding an extra verify pass and a kind of rating
mechnish to vsetvli pass with Ju-Zhe,
so that we don't need to do such asm scan, which is relatively fragile
to broken.

And we'll implement that in the next few weeks :)

Thanks


Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-16 Thread Jeff Law via Gcc-patches




On 12/16/22 18:31, 钟居哲 wrote:
Register allocation (RA) doesn't affect the assembler checks since I 
relax the registers in assmebler checks,

all assmebler checks have their own goal. For example:

The code like this:

+void foo2 (void * restrict in, void * restrict out, int n)
+{
+  for (int i = 0; i < n; i++)
+{
+  vuint16mf4_t v = *(vuint16mf4_t*)(in + i);
+  *(vuint16mf4_t*)(out + i) = v;
+}
+}

Assembler check:

scan-assembler-times 
{vsetvli\s+(?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7]),\s*zero,\s*e16,\s*mf4,\s*t[au],\s*m[au]\s+\.L[0-9]\:\s+vle16\.v\s+(?:v[0-9]|v[1-2][0-9]|v3[0-1]),0\s*\((?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7])\

I don't care about which vector register is using since I relax register in 
assembler : (?:v[0-9]|v[1-2][0-9]|v3[0-1]), this means any vector register 
v0-v31

But also I relax scalar register : (?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7]), 
so could be any x0 - x31 of them.

The only strict check is that make sure the vsetvl is hoist outside the loop 
meaning the location of vsetvl is outside of the Lable L[0-9]:

vsetvli\s+(?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7]),\s*zero,\s*e16,\s*mf4,\s*t[au],\s*m[au]\s+\.L[0-9]

You can see the last assembler is \s+\.L[0-9] to make sure VSETVL PASS 
successfully do the optimization that hoist the vsetvl instruction outside the 
loop

I try to use check-function-body but it fails since it can not recognize the 
Lable which is most important for such cases.
Ah, I should have looked at those regexps closer.  Understood about the 
checking for hoisting the vsetvl.  Though it makes me wonder if we'd be 
better off dumping information out of the vsetvl pass.


In the case of hoisting we could dump the loop nest of the original 
evaluation block and the loop nest of the new vsetvl location, then we 
scan for those in the vsetvl pass dump.  While it doesn't check the 
assembly code, it's probably just as good if not better.


Consider that as an alternative.  But I'm not going to insist on it.  I 
just know we've had a lot of trouble through the years where assembly 
code changes slightly, causing test fails.  So I try to avoid too much 
assembly scanning if it can be avoided.  Often the easiest way to get 
the same basic effect is to dump at the transformation point and scan 
for those markers in the dump file.


Jeff


Re: Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-16 Thread 钟居哲
Register allocation (RA) doesn't affect the assembler checks since I relax the 
registers in assmebler checks,
all assmebler checks have their own goal. For example:

The code like this:
+void foo2 (void * restrict in, void * restrict out, int n)
+{
+  for (int i = 0; i < n; i++)
+{
+  vuint16mf4_t v = *(vuint16mf4_t*)(in + i);
+  *(vuint16mf4_t*)(out + i) = v;
+}
+}
Assembler check:
scan-assembler-times 
{vsetvli\s+(?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7]),\s*zero,\s*e16,\s*mf4,\s*t[au],\s*m[au]\s+\.L[0-9]\:\s+vle16\.v\s+(?:v[0-9]|v[1-2][0-9]|v3[0-1]),0\s*\((?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7])\I
 don't care about which vector register is using since I relax register in 
assembler : (?:v[0-9]|v[1-2][0-9]|v3[0-1]), this means any vector register 
v0-v31But also I relax scalar register : 
(?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7]), so could be any x0 - x31 of 
them.The only strict check is that make sure the vsetvl is hoist outside the 
loop meaning the location of vsetvl is outside of the Lable 
L[0-9]:vsetvli\s+(?:ra|[sgtf]p|t[0-6]|s[0-9]|s10|s11|a[0-7]),\s*zero,\s*e16,\s*mf4,\s*t[au],\s*m[au]\s+\.L[0-9]You
 can see the last assembler is \s+\.L[0-9] to make sure VSETVL PASS 
successfully do the optimization that hoist the vsetvl instruction outside the 
loopI try to use check-function-body but it fails since it can not recognize 
the Lable which is most important for such cases.


juzhe.zh...@rivai.ai
 
From: Jeff Law
Date: 2022-12-17 04:07
To: juzhe.zhong; gcc-patches
CC: kito.cheng; palmer
Subject: Re: [PATCH] RISC-V: Add testcases for VSETVL PASS
 
 
On 12/14/22 01:09, juzhe.zh...@rivai.ai wrote:
> From: Ju-Zhe Zhong 
> 
> gcc/testsuite/ChangeLog:
> 
>  * gcc.target/riscv/rvv/rvv.exp: Adjust to enable tests for VSETVL 
> PASS.
>  * gcc.target/riscv/rvv/vsetvl/dump-1.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: New test.
>  * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: New test.
So it looks like the assembler strings you're searching for are highly 
specific (across all 5 testsuite patches).  How sensitive do we expect 
these tests to be to things like register allocation giving us different 
registers and such?  I'd hate to be in a position where we're constantly 
needing to update these tests because the output is changing in 
unimportant ways.
 
Jeff
 


Re: [PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-16 Thread Jeff Law via Gcc-patches




On 12/14/22 01:09, juzhe.zh...@rivai.ai wrote:

From: Ju-Zhe Zhong 

gcc/testsuite/ChangeLog:

 * gcc.target/riscv/rvv/rvv.exp: Adjust to enable tests for VSETVL PASS.
 * gcc.target/riscv/rvv/vsetvl/dump-1.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: New test.
 * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: New test.
So it looks like the assembler strings you're searching for are highly 
specific (across all 5 testsuite patches).  How sensitive do we expect 
these tests to be to things like register allocation giving us different 
registers and such?  I'd hate to be in a position where we're constantly 
needing to update these tests because the output is changing in 
unimportant ways.


Jeff


[PATCH] RISC-V: Add testcases for VSETVL PASS 5

2022-12-14 Thread juzhe . zhong
From: Ju-Zhe Zhong 

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: New test.

---
 .../riscv/rvv/vsetvl/vlmax_back_prop-1.c  |  36 
 .../riscv/rvv/vsetvl/vlmax_back_prop-10.c |  59 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-11.c |  63 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-12.c |  64 
 .../riscv/rvv/vsetvl/vlmax_back_prop-13.c |  64 
 .../riscv/rvv/vsetvl/vlmax_back_prop-14.c |  58 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-15.c | 143 
 .../riscv/rvv/vsetvl/vlmax_back_prop-16.c |  54 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-17.c |  59 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-18.c |  58 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-19.c |  48 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-2.c  |  50 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-20.c |  59 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-21.c |  50 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-22.c |  58 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-23.c |  41 +
 .../riscv/rvv/vsetvl/vlmax_back_prop-24.c |  41 +
 .../riscv/rvv/vsetvl/vlmax_back_prop-25.c |  96 +++
 .../riscv/rvv/vsetvl/vlmax_back_prop-26.c |  89 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-27.c |  51 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-28.c |  54 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-29.c |  54 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-3.c  |  47 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-30.c |  44 +
 .../riscv/rvv/vsetvl/vlmax_back_prop-31.c |  46 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-32.c |  46 ++
 .../riscv/rvv/vsetvl/vlmax_back_prop-33.c |  45 +
 .../riscv/rvv/vsetvl/vlmax_back_prop-34.c |  45 +
 .../riscv/rvv/vsetvl/vlmax_back_

[PATCH] RISC-V: Add testcases for VSETVL PASS 3

2022-12-14 Thread juzhe . zhong
From: Ju-Zhe Zhong 

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: New test.

---
 .../riscv/rvv/vsetvl/vlmax_miss_default-1.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-10.c  |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-11.c  |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-12.c  |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-13.c  |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-14.c  | 189 ++
 .../riscv/rvv/vsetvl/vlmax_miss_default-15.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-16.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-17.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-18.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-19.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-2.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-20.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-21.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-22.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-23.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-24.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-25.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-26.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-27.c  |  38 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-28.c  | 231 ++
 .../riscv/rvv/vsetvl/vlmax_miss_default-3.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-4.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-5.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-6.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-7.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-8.c   |  32 +++
 .../riscv/rvv/vsetvl/vlmax_miss_default-9.c   |  32 +++
 28 files changed, 1330 insertions(+)
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c
 create mode 100644 
gcc/testsuite/g

[PATCH] RISC-V: Add testcases for VSETVL PASS 2

2022-12-14 Thread juzhe . zhong
From: Ju-Zhe Zhong 

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: New test.

---
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c |  37 +++
 .../riscv/rvv/vsetvl/vlmax_phi-10.c   |  37 +++
 .../riscv/rvv/vsetvl/vlmax_phi-11.c   |  37 +++
 .../riscv/rvv/vsetvl/vlmax_phi-12.c   |  37 +++
 .../riscv/rvv/vsetvl/vlmax_phi-13.c   |  37 +++
 .../riscv/rvv/vsetvl/vlmax_phi-14.c   | 217 
 .../riscv/rvv/vsetvl/vlmax_phi-15.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-16.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-17.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-18.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-19.c   |  40 +++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c |  37 +++
 .../riscv/rvv/vsetvl/vlmax_phi-20.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-21.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-22.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-23.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-24.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-25.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-26.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-27.c   |  40 +++
 .../riscv/rvv/vsetvl/vlmax_phi-28.c   | 237 ++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c |  37 +++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c |  37 +++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c |  37 +++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c |  37 +++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c |  37 +++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c |  37 +++
 .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c |  37 +++
 .../riscv/rvv/vsetvl/vlmax_switch_vtype-1.c   |  26 ++
 .../riscv/rvv/vsetvl/vlmax_switch_vtype-10.c  |  47 
 .../riscv/rvv/vsetvl/vlmax_switch_vtype-11.c  |  55 
 .../riscv/rvv/vsetvl/vlmax_switch_vtype-12.c  |  55 
 .../riscv/rvv/vsetvl/vlmax_switch_vtype-13.c  |  17 ++
 .../riscv/rvv/vsetvl/vlmax_switch_vtype-14.c  |  39 +++
 .../riscv/rvv/vsetvl/vlmax_switch_vty

[PATCH] RISC-V: Add testcases for VSETVL PASS

2022-12-14 Thread juzhe . zhong
From: Ju-Zhe Zhong 

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/rvv.exp: Adjust to enable tests for VSETVL PASS.
* gcc.target/riscv/rvv/vsetvl/dump-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: New test.
* gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: New test.

---
 gcc/testsuite/gcc.target/riscv/rvv/rvv.exp|   2 +
 .../gcc.target/riscv/rvv/vsetvl/dump-1.c  |  33 
 .../riscv/rvv/vsetvl/vlmax_single_block-1.c   | 154 ++
 .../riscv/rvv/vsetvl/vlmax_single_block-10.c  | 143 
 .../riscv/rvv/vsetvl/vlmax_single_block-11.c  |  34 
 .../riscv/rvv/vsetvl/vlmax_single_block-12.c  |  92 +++
 .../riscv/rvv/vsetvl/vlmax_single_block-13.c  |  89 ++
 .../riscv/rvv/vsetvl/vlmax_single_block-14.c  |  16 ++
 .../riscv/rvv/vsetvl/vlmax_single_block-15.c  |  42 +
 .../riscv/rvv/vsetvl/vlmax_single_block-16.c  | 147 +
 .../riscv/rvv/vsetvl/vlmax_single_block-17.c  |  32 
 .../riscv/rvv/vsetvl/vlmax_single_block-18.c  |  32 
 .../riscv/rvv/vsetvl/vlmax_single_block-19.c  | 105 
 .../riscv/rvv/vsetvl/vlmax_single_block-2.c   |  70 
 .../riscv/rvv/vsetvl/vlmax_single_block-3.c   |  70 
 .../riscv/rvv/vsetvl/vlmax_single_block-4.c   |  49 ++
 .../riscv/rvv/vsetvl/vlmax_single_block-5.c   |  49 ++
 .../riscv/rvv/vsetvl/vlmax_single_block-6.c   |  28 
 .../riscv/rvv/vsetvl/vlmax_single_block-7.c   |  28 
 .../riscv/rvv/vsetvl/vlmax_single_block-8.c   |  28 
 .../riscv/rvv/vsetvl/vlmax_single_block-9.c   | 147 +
 .../riscv/rvv/vsetvl/vlmax_single_vtype-1.c   |  86 ++
 .../riscv/rvv/vsetvl/vlmax_single_vtype-2.c   |  42 +
 .../riscv/rvv/vsetvl/vlmax_single_vtype-3.c   |  38 +
 .../riscv/rvv/vsetvl/vlmax_single_vtype-4.c   |  31 
 .../riscv/rvv/vsetvl/vlmax_single_vtype-5.c   |  31 
 .../riscv/rvv/vsetvl/vlmax_single_vtype-6.c   |  18 ++
 .../riscv/rvv/vsetvl/vlmax_single_vtype-7.c   |  18 ++
 .../riscv/rvv/vsetvl/vlmax_single_vtype-8.c   |  18 ++
 29 files changed, 1672 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/dump-1.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c
 create mode 100644 
gcc/