RISC-V: Split off shift patterns for autovectorization.
commit8c08201f06e67d80a12dca9e5dc33334631285a6
authorRobin Dapp <rdapp@ventanamicro.com>
Wed, 10 May 2023 07:52:43 +0000 (10 09:52 +0200)
committerRobin Dapp <rdapp@ventanamicro.com>
Thu, 11 May 2023 12:23:27 +0000 (11 14:23 +0200)
treef68807e704b253aa649780f30b8f237974af5ca7
parent84d2899638a7207bc01159553e9489de7d65b494
RISC-V: Split off shift patterns for autovectorization.

This patch splits off the shift patterns of the binop patterns.
This is necessary as the scalar shifts require a Pmode operand
as shift count.  To this end, a new iterator any_int_binop_no_shift
is introduced.  At a later point when the binops are split up
further in commutative and non-commutative patterns (which both
do not include the shift patterns) we might not need this anymore.

gcc/ChangeLog:

* config/riscv/autovec.md (<optab><mode>3): Add scalar shift
pattern.
(v<optab><mode>3): Add vector shift pattern.
* config/riscv/vector-iterators.md: New iterator.
gcc/config/riscv/autovec.md
gcc/config/riscv/vector-iterators.md