]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Optimize combine sequence by merge approach
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Mon, 13 Nov 2023 11:06:36 +0000 (19:06 +0800)
committerPan Li <pan2.li@intel.com>
Mon, 13 Nov 2023 11:09:08 +0000 (19:09 +0800)
commited3ce1c3bbab096891012968cd6b938a45d83969
treeaf145e8e8f68d17b96fedc4a85db1004aa7cb010
parent2794d510b979be76b0fee4521d1a454332176007
RISC-V: Optimize combine sequence by merge approach

gcc/ChangeLog:

* config/riscv/riscv-v.cc
(rvv_builder::combine_sequence_use_merge_profitable_p): New function.
(expand_vector_init_merge_combine_sequence): Ditto.
(expand_vec_init): Adapt for new optimization.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c: New test.
* gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c: New test.
19 files changed:
gcc/config/riscv/riscv-v.cc
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c [new file with mode: 0644]