]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: autovec: Verify that GET_MODE_NUNITS is a multiple of 2.
authorMichael Collison <collison@rivosinc.com>
Sat, 6 May 2023 18:37:50 +0000 (12:37 -0600)
committerJeff Law <jlaw@ventanamicro>
Sat, 6 May 2023 18:37:50 +0000 (12:37 -0600)
commit730909fa858bd691095bc23655077aa13b7941a9
tree092dd666dadaf333295213729c2e003821b616bd
parent9217e0dde1b7dbcff456d513334496404e626437
RISC-V: autovec: Verify that GET_MODE_NUNITS is a multiple of 2.

While working on autovectorizing for the RISCV port I encountered an issue
where can_duplicate_and_interleave_p assumes that GET_MODE_NUNITS is a
evenly divisible by two. The RISC-V target has vector modes (e.g. VNx1DImode),
where GET_MODE_NUNITS is equal to one.

Tested on RISCV and x86_64-linux-gnu. Okay?

gcc/
* tree-vect-slp.cc (can_duplicate_and_interleave_p):
Check that GET_MODE_NUNITS is a multiple of 2.
gcc/tree-vect-slp.cc