RISC-V: Optimize fault only first load
commit4eae76d10433b12bdb6944c2b3be818ccc3b5986
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Sun, 23 Apr 2023 11:17:52 +0000 (23 19:17 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Mon, 24 Apr 2023 06:18:17 +0000 (24 14:18 +0800)
treecd3d6c93f2361d0216dff5431cc15ff6fa6f2f53
parent8311c26757657fe8ffa28ca1539d02d141bb8292
RISC-V: Optimize fault only first load

V2 patch for: https://patchwork.sourceware.org/project/gcc/patch/20230330012804.110539-1-juzhe.zhong@rivai.ai/
which has been reviewed.

This patch address Jeff's comment, refine ChangeLog to give more
clear information.

gcc/ChangeLog:

* config/riscv/vector-iterators.md: New unspec to refine fault first load pattern.
* config/riscv/vector.md: Refine fault first load pattern to erase avl from instructions
with the fault first load property.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/vsetvl/ffload-1.c: New test.
* gcc.target/riscv/rvv/vsetvl/ffload-2.c: New test.
* gcc.target/riscv/rvv/vsetvl/ffload-3.c: New test.
* gcc.target/riscv/rvv/vsetvl/ffload-5.c: New test.
* gcc.target/riscv/rvv/vsetvl/ffload-6.c: New test.
* gcc.target/riscv/rvv/vsetvl/ffload-7.c: New test.
gcc/config/riscv/vector-iterators.md
gcc/config/riscv/vector.md
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/vsetvl/ffload-7.c [new file with mode: 0644]