aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.cc
diff options
context:
space:
mode:
authorPan Li <pan2.li@intel.com>2023-06-29 09:25:36 +0800
committerPan Li <pan2.li@intel.com>2023-06-29 12:13:26 +0800
commite714af12e3bee0032d8d226f87d92c9bc46f0269 (patch)
treef8d9658620876e02e5bb2c7e65caf31f52315526 /gcc/ada/gcc-interface/decl.cc
parent4d1e97f5838b0b6c12d256883e24a8cb3258a134 (diff)
downloadgcc-e714af12e3bee0032d8d226f87d92c9bc46f0269.zip
gcc-e714af12e3bee0032d8d226f87d92c9bc46f0269.tar.gz
gcc-e714af12e3bee0032d8d226f87d92c9bc46f0269.tar.bz2
RISC-V: Support vfadd static rounding mode by mode switching
This patch would like to support the vfadd static round mode similar to the fixed-point. Then the related fsrm instructions will be inserted correlatively. Please *NOTE* this PATCH doesn't cover anything about FRM dynamic mode, it will be implemented in the underlying PATCH(s). Signed-off-by: Pan Li <pan2.li@intel.com> gcc/ChangeLog: * config/riscv/riscv.cc (riscv_emit_mode_set): Add emit for FRM. (riscv_mode_needed): Likewise. (riscv_entity_mode_after): Likewise. (riscv_mode_after): Likewise. (riscv_mode_entry): Likewise. (riscv_mode_exit): Likewise. * config/riscv/riscv.h (NUM_MODES_FOR_MODE_SWITCHING): Add number for FRM. * config/riscv/riscv.md: Add FRM register. * config/riscv/vector-iterators.md: Add FRM type. * config/riscv/vector.md (frm_mode): Define new attr for FRM mode. (fsrm): Define new insn for fsrm instruction. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: New test. * gcc.target/riscv/rvv/base/float-point-frm-insert-2.c: New test. * gcc.target/riscv/rvv/base/float-point-frm-insert-3.c: New test. * gcc.target/riscv/rvv/base/float-point-frm-insert-4.c: New test. * gcc.target/riscv/rvv/base/float-point-frm-insert-5.c: New test.
Diffstat (limited to 'gcc/ada/gcc-interface/decl.cc')
0 files changed, 0 insertions, 0 deletions