aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-infer.cc
diff options
context:
space:
mode:
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>2023-02-03 14:56:05 +0800
committerKito Cheng <kito.cheng@sifive.com>2023-02-10 19:27:01 +0800
commita035d133809430d2b2019d5de6c42d358eb8c7aa (patch)
tree0cd97dfa4c166793f4a5237fcc6e3880f9944edd /gcc/gimple-range-infer.cc
parentdc87e1391c55c666c7ff39d4f0dea87666f25468 (diff)
downloadgcc-a035d133809430d2b2019d5de6c42d358eb8c7aa.zip
gcc-a035d133809430d2b2019d5de6c42d358eb8c7aa.tar.gz
gcc-a035d133809430d2b2019d5de6c42d358eb8c7aa.tar.bz2
RISC-V: Add binary vx C/C++ support
gcc/ChangeLog: * config/riscv/constraints.md (Wdm): Adjust constraint. (Wbr): New constraint. * config/riscv/predicates.md (reg_or_int_operand): New predicate. * config/riscv/riscv-protos.h (emit_pred_op): Remove function. (emit_vlmax_op): New function. (emit_nonvlmax_op): Ditto. (simm32_p): Ditto. (neg_simm5_p): Ditto. (has_vi_variant_p): Ditto. * config/riscv/riscv-v.cc (emit_pred_op): Adjust function. (emit_vlmax_op): New function. (emit_nonvlmax_op): Ditto. (expand_const_vector): Adjust function. (legitimize_move): Ditto. (simm32_p): New function. (simm5_p): Ditto. (neg_simm5_p): Ditto. (has_vi_variant_p): Ditto. * config/riscv/riscv-vector-builtins-bases.cc (class vrsub): New class. (BASE): Ditto. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (vmin): Remove unsigned cases. (vmax): Ditto. (vminu): Remove signed cases. (vmaxu): Ditto. (vdiv): Remove unsigned cases. (vrem): Ditto. (vdivu): Remove signed cases. (vremu): Ditto. (vadd): Adjust. (vsub): Ditto. (vrsub): New class. (vand): Adjust. (vor): Ditto. (vxor): Ditto. (vmul): Ditto. * config/riscv/riscv-vector-builtins.cc (DEF_RVV_U_OPS): New macro. * config/riscv/riscv.h: change VL/VTYPE as fixed reg. * config/riscv/vector-iterators.md: New iterators. * config/riscv/vector.md (@pred_broadcast<mode>): Adjust pattern for vx support. (@pred_<optab><mode>_scalar): New pattern. (@pred_sub<mode>_reverse_scalar): Ditto. (*pred_<optab><mode>_scalar): Ditto. (*pred_<optab><mode>_extended_scalar): Ditto. (*pred_sub<mode>_reverse_scalar): Ditto. (*pred_sub<mode>_extended_reverse_scalar): Ditto.
Diffstat (limited to 'gcc/gimple-range-infer.cc')
0 files changed, 0 insertions, 0 deletions