]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Fix V_WHOLE && V_FRACT iterator requirement
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Fri, 9 Jun 2023 14:32:41 +0000 (22:32 +0800)
committerPan Li <pan2.li@intel.com>
Tue, 13 Jun 2023 01:28:04 +0000 (09:28 +0800)
commitde5f3bbf95674c2e6688b2ce7e7a01cdc236ea41
treee4eb0fefa2966286be99d5b4a24bd786ae38fcaa
parentd150afb4791e8dff4fc1d4e4b10938b55e58cb16
RISC-V: Fix V_WHOLE && V_FRACT iterator requirement

This patch fixes the requirement of V_WHOLE and V_FRACT.
E.g. VNx8QI in V_WHOLE has no requirement which is incorrect.
     Actually, VNx8QI should be whole(full) mode when TARGET_MIN_VLEN < 128
     since when TARGET_MIN_VLEN == 128, VNx8QI is e8mf2 which is fractional
     vector.

Co-Authored by: Robin Dapp <rdapp@ventanamicro.com>

gcc/ChangeLog:

* config/riscv/vector-iterators.md: Fix requirement.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: New test.
gcc/config/riscv/vector-iterators.md
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c [new file with mode: 0644]