RISC-V: Support highpart overlap for floating-point widen instructions
commit8614cbb253484e28c3eb20cde4d1067aad56de58
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Thu, 30 Nov 2023 02:36:30 +0000 (30 10:36 +0800)
committerLehua Ding <lehua.ding@rivai.ai>
Thu, 30 Nov 2023 02:39:31 +0000 (30 10:39 +0800)
treeaf46cf2d668ba2f6582761487c58dbbd65b6d30b
parente65aaf8efe1900f7bbf76235a078000bf2ec8b45
RISC-V: Support highpart overlap for floating-point widen instructions

This patch leverages the approach of vwcvt/vext.vf2 which has been approved.
Their approaches are totally the same.

Tested no regression and committed.

PR target/112431

gcc/ChangeLog:

* config/riscv/vector.md: Add widenning overlap.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/pr112431-10.c: New test.
* gcc.target/riscv/rvv/base/pr112431-11.c: New test.
* gcc.target/riscv/rvv/base/pr112431-12.c: New test.
* gcc.target/riscv/rvv/base/pr112431-13.c: New test.
* gcc.target/riscv/rvv/base/pr112431-14.c: New test.
* gcc.target/riscv/rvv/base/pr112431-15.c: New test.
* gcc.target/riscv/rvv/base/pr112431-7.c: New test.
* gcc.target/riscv/rvv/base/pr112431-8.c: New test.
* gcc.target/riscv/rvv/base/pr112431-9.c: New test.
gcc/config/riscv/vector.md
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-9.c [new file with mode: 0644]