diff options
author | Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | 2023-02-16 11:30:01 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2023-02-17 10:46:35 +0800 |
commit | 1ed93bc7ed88d1164bcccbd38a840b8b0a67961c (patch) | |
tree | 38b9f90e32c73998ed07fe58d77cbffe48088a05 /gcc/rust/backend | |
parent | c2031252868015f8a8ad1c67362a8b37ce6f8030 (diff) | |
download | gcc-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