aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/java
diff options
context:
space:
mode:
authorPaul-Antoine Arras <parras@baylibre.com>2025-08-27 19:38:15 +0200
committerPaul-Antoine Arras <parras@baylibre.com>2025-08-28 16:58:46 +0200
commit31a180d8a4c2893e7c4be43e3daaac12347dddb5 (patch)
tree6ca7a04fe2490d7774c1ff79dc517704b48d6d7c /libjava/classpath/gnu/java
parent48ef4af2274a0a1ad945ac14217806c1c1d8ccb2 (diff)
downloadgcc-31a180d8a4c2893e7c4be43e3daaac12347dddb5.zip
gcc-31a180d8a4c2893e7c4be43e3daaac12347dddb5.tar.gz
gcc-31a180d8a4c2893e7c4be43e3daaac12347dddb5.tar.bz2
RISC-V: Add pattern for vector-scalar floating-point min
This pattern enables the combine pass (or late-combine, depending on the case) to merge a vec_duplicate into an smin RTL instruction. Before this patch, we have two instructions, e.g.: vfmv.v.f v2,fa0 vfmin.vv v1,v1,v2 After, we get only one: vfmin.vf v1,v1,fa0 gcc/ChangeLog: * config/riscv/autovec-opt.md (*vfmin_vf_<mode>): Add new pattern to combine vec_duplicate + vfmin.vv into vfmin.vf. * config/riscv/vector.md (@pred_<optab><mode>_scalar): Allow VLS modes. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/vls/floating-point-min-2.c: Adjust scan dump. * gcc.target/riscv/rvv/autovec/vls/floating-point-min-4.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-1-f16.c: Add vfmin. * gcc.target/riscv/rvv/autovec/vx_vf/vf-1-f32.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-1-f64.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-2-f16.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-2-f32.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-2-f64.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-3-f16.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-3-f32.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf-3-f64.c: Likewise. * gcc.target/riscv/rvv/autovec/vx_vf/vf_binop.h: Add support for function variants. * gcc.target/riscv/rvv/autovec/vx_vf/vf_binop_data.h: Add data for vfmin. * gcc.target/riscv/rvv/autovec/vx_vf/vf_vfmin-run-1-f16.c: New test. * gcc.target/riscv/rvv/autovec/vx_vf/vf_vfmin-run-1-f32.c: New test. * gcc.target/riscv/rvv/autovec/vx_vf/vf_vfmin-run-1-f64.c: New test.
Diffstat (limited to 'libjava/classpath/gnu/java')
0 files changed, 0 insertions, 0 deletions