vect: Allow same precision for bit-precision conversions.
commit32b74c9e1d46932a4bbb1f46353bfc43c702c20a
authorRobin Dapp <rdapp@ventanamicro.com>
Sun, 15 Oct 2023 20:36:59 +0000 (15 22:36 +0200)
committerRobin Dapp <rdapp@ventanamicro.com>
Mon, 23 Oct 2023 16:42:11 +0000 (23 18:42 +0200)
tree0a8eab6269beaf66ffc1a32f8925dfa6380fe275
parent82bbbb73c67f79582d38a1aa63984987dcd0923a
vect: Allow same precision for bit-precision conversions.

In PR111794 we miss a vectorization because on riscv type precision and
mode precision differ for mask types.  We can still vectorize when
allowing assignments with the same precision for dest and source which
is what this patch does.

gcc/ChangeLog:

PR tree-optimization/111794
* tree-vect-stmts.cc (vectorizable_assignment): Add
same-precision exception for dest and source.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/slp-mask-1.c: New test.
* gcc.target/riscv/rvv/autovec/slp-mask-run-1.c: New test.
gcc/testsuite/gcc.target/riscv/rvv/autovec/slp-mask-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/slp-mask-run-1.c [new file with mode: 0644]
gcc/tree-vect-stmts.cc