RISC-V: Add RVV shift.vx C/C++ API support
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>
Tue, 31 Jan 2023 22:07:24 +0000 (06:07 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Fri, 3 Feb 2023 06:57:37 +0000 (14:57 +0800)
commit61122017132366189b43bc15402c34d5d9615024
tree43f5f0034ef8bb0edc5af02051e79e3f86ab6aa2
parenta37a0cb303da35ee3b20fd25ad1592d03550ac17
RISC-V: Add RVV shift.vx C/C++ API support

gcc/ChangeLog:

* config/riscv/predicates.md (pmode_reg_or_uimm5_operand): New predicate.
* config/riscv/riscv-vector-builtins-bases.cc: New class.
* config/riscv/riscv-vector-builtins-functions.def (vsll): Ditto.
(vsra): Ditto.
(vsrl): Ditto.
* config/riscv/riscv-vector-builtins.cc: Ditto.
* config/riscv/vector.md (@pred_<optab><mode>_scalar): New pattern.
gcc/config/riscv/predicates.md
gcc/config/riscv/riscv-vector-builtins-bases.cc
gcc/config/riscv/riscv-vector-builtins-functions.def
gcc/config/riscv/riscv-vector-builtins.cc
gcc/config/riscv/vector.md