aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend
diff options
context:
space:
mode:
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>2023-02-16 11:30:01 +0800
committerKito Cheng <kito.cheng@sifive.com>2023-02-17 10:46:35 +0800
commit1ed93bc7ed88d1164bcccbd38a840b8b0a67961c (patch)
tree38b9f90e32c73998ed07fe58d77cbffe48088a05 /gcc/rust/backend
parentc2031252868015f8a8ad1c67362a8b37ce6f8030 (diff)
downloadgcc-1ed93bc7ed88d1164bcccbd38a840b8b0a67961c.zip
gcc-1ed93bc7ed88d1164bcccbd38a840b8b0a67961c.tar.gz
gcc-1ed93bc7ed88d1164bcccbd38a840b8b0a67961c.tar.bz2
RISC-V: Add RVV all mask C/C++ intrinsics support
gcc/ChangeLog: * config/riscv/riscv-vector-builtins-bases.cc (class mask_logic): New class. (class mask_nlogic): Ditto. (class mask_notlogic): Ditto. (class vmmv): Ditto. (class vmclr): Ditto. (class vmset): Ditto. (class vmnot): Ditto. (class vcpop): Ditto. (class vfirst): Ditto. (class mask_misc): Ditto. (class viota): Ditto. (class vid): Ditto. (BASE): Ditto. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (vmand): Ditto. (vmnand): Ditto. (vmandn): Ditto. (vmxor): Ditto. (vmor): Ditto. (vmnor): Ditto. (vmorn): Ditto. (vmxnor): Ditto. (vmmv): Ditto. (vmclr): Ditto. (vmset): Ditto. (vmnot): Ditto. (vcpop): Ditto. (vfirst): Ditto. (vmsbf): Ditto. (vmsif): Ditto. (vmsof): Ditto. (viota): Ditto. (vid): Ditto. * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto. (struct mask_alu_def): Ditto. (SHAPE): Ditto. * config/riscv/riscv-vector-builtins-shapes.h: Ditto. * config/riscv/riscv-vector-builtins.cc: Ditto. * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_insns): Fix bug for dest it scalar RVV intrinsics. * config/riscv/vector-iterators.md (sof): New iterator. * config/riscv/vector.md (@pred_<optab>n<mode>): New pattern. (@pred_<optab>not<mode>): New pattern. (@pred_popcount<VB:mode><P:mode>): New pattern. (@pred_ffs<VB:mode><P:mode>): New pattern. (@pred_<misc_op><mode>): New pattern. (@pred_iota<mode>): New pattern. (@pred_series<mode>): New pattern.
Diffstat (limited to 'gcc/rust/backend')
0 files changed, 0 insertions, 0 deletions