]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Add saturating Addition && Subtraction C/C++ Support
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>
Sun, 5 Feb 2023 01:47:38 +0000 (09:47 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Sun, 12 Feb 2023 02:59:13 +0000 (10:59 +0800)
commit7ad729a0df05938fc36c3c0b0c4dd6fa4fcd5eb1
treec522975d074a106ca2587e7676a3a285e9e88892
parenteeb50b70354aa8f198d814ae254ba29e595470a9
RISC-V: Add saturating Addition && Subtraction C/C++ Support

gcc/ChangeLog:

* config/riscv/iterators.md: Add saturating Addition && Subtraction.
* config/riscv/riscv-v.cc (has_vi_variant_p): Ditto.
* config/riscv/riscv-vector-builtins-bases.cc (BASE): Ditto.
* config/riscv/riscv-vector-builtins-bases.h: Ditto.
* config/riscv/riscv-vector-builtins-functions.def (vsadd): New def.
(vssub): Ditto.
(vsaddu): Ditto.
(vssubu): Ditto.
* config/riscv/vector-iterators.md (sll.vi): Adjust for Saturating
support.
(sll.vv): Ditto.
(%3,%v4): Ditto.
(%3,%4): Ditto.
* config/riscv/vector.md (@pred_<optab><mode>): New pattern.
(@pred_<optab><mode>_scalar): New pattern.
(*pred_<optab><mode>_scalar): New pattern.
(*pred_<optab><mode>_extended_scalar): New pattern.
gcc/config/riscv/iterators.md
gcc/config/riscv/riscv-v.cc
gcc/config/riscv/riscv-vector-builtins-bases.cc
gcc/config/riscv/riscv-vector-builtins-bases.h
gcc/config/riscv/riscv-vector-builtins-functions.def
gcc/config/riscv/vector-iterators.md
gcc/config/riscv/vector.md