From cd1ce3b326d49c16bade1fb76daa2ee67586efc9 Mon Sep 17 00:00:00 2001 From: "demin.han" Date: Wed, 13 Mar 2024 18:43:26 +0800 Subject: RISC-V: Introduce option -mrvv-max-lmul for RVV autovec Following replacement of -param=riscv-autovec-preference with -mrvv-vector-bits, this patch replaces -param=riscv-autovec-lmul with -mrvv-max-lmul. -param issue is mentioned in following links: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112648 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112651 Tested On RV64 and RV32, no regression. PR target/112651 gcc/ChangeLog: * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Rename (enum rvv_max_lmul_enum): Ditto (TARGET_MAX_LMUL): Ditto * config/riscv/riscv-v.cc (preferred_simd_mode): Ditto * config/riscv/riscv-vector-costs.cc (costs::record_potential_unexpected_spills): Ditto (costs::better_main_loop_than_p): Ditto * config/riscv/riscv.opt: Replace -param=riscv-autovec-lmul with -mrvv-max-lmul gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/autovec/bug-2.C: Replace option * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-10.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-11.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-12.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-9.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-14.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/no-dynamic-lmul-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr111317.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113112-5.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113247-1.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113247-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113281-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113281-4.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr113281-5.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/pr114264.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-2.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-3.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-4.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-5.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-6.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-7.c: Ditto * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: Ditto * gcc.target/riscv/rvv/autovec/bug-1.c: Ditto * gcc.target/riscv/rvv/autovec/bug-2.c: Ditto * gcc.target/riscv/rvv/autovec/bug-3.c: Ditto * gcc.target/riscv/rvv/autovec/bug-4.c: Ditto * gcc.target/riscv/rvv/autovec/bug-5.c: Ditto * gcc.target/riscv/rvv/autovec/bug-8.c: Ditto * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-3.c: Ditto * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-4.c: Ditto * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-7.c: Ditto * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-8.c: Ditto * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: Ditto * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: Ditto * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: Ditto * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: Ditto * gcc.target/riscv/rvv/autovec/fold-min-poly.c: Ditto * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: Ditto * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-2.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-4.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto * gcc.target/riscv/rvv/autovec/partial/slp-6.c: Ditto * gcc.target/riscv/rvv/autovec/pr112450.c: Ditto * gcc.target/riscv/rvv/autovec/pr112598-1.c: Ditto * gcc.target/riscv/rvv/autovec/pr112598-2.c: Ditto * gcc.target/riscv/rvv/autovec/pr112694-1.c: Ditto * gcc.target/riscv/rvv/autovec/pr112999.c: Ditto * gcc.target/riscv/rvv/autovec/pr113393-2.c: Ditto * gcc.target/riscv/rvv/autovec/series-1.c: Ditto * gcc.target/riscv/rvv/autovec/series_run-1.c: Ditto * gcc.target/riscv/rvv/autovec/slp-interleave-1.c: Ditto * gcc.target/riscv/rvv/autovec/slp-interleave-2.c: Ditto * gcc.target/riscv/rvv/autovec/slp-interleave-3.c: Ditto * gcc.target/riscv/rvv/autovec/slp-interleave-4.c: Ditto * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv64-ice-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/abs-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/abs-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/and-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/and-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/and-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/avg-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/avg-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/avg-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/avg-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/avg-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/avg-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/bswap16-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cmp-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cmp-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cmp-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cmp-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cmp-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cmp-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls/compress-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/compress-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/compress-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/compress-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/compress-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/compress-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_abs-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_add-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_add-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_and-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-10.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-11.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-12.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_convert-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_copysign-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_div-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_div-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_ext-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_ext-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_ext-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_ext-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_ext-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_fma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_fma-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_fms-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_fnma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_fnma-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_fnms-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_ior-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_max-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_max-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_min-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_min-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_mod-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_mul-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_mul-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_mulh-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_narrow-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_narrow-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_neg-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_neg-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_not-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_shift-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_shift-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_sqrt-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_sub-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_sub-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_trunc-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_trunc-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_trunc-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_trunc-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_trunc-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wadd-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wadd-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wadd-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wadd-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wfma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wfma-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wfms-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wfnma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wmul-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wmul-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wmul-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wsub-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wsub-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wsub-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_wsub-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cond_xor-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/consecutive-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/consecutive-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/const-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/const-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/const-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/const-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/const-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-10.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-11.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-12.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/convert-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls/cvt-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/div-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/dup-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/dup-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/dup-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/dup-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/dup-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/dup-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/dup-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ext-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ext-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ext-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ext-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ext-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/extract-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/extract-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-add-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-add-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-add-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-div-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-div-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-div-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-max-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-max-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-max-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-max-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-max-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-min-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-min-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-min-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-min-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-min-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fma-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fma-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fma-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fma-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fma-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fma-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fms-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fms-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fms-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnma-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnma-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnma-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnma-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnma-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnma-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnms-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnms-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/fnms-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ior-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ior-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/ior-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mask-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mask-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mask-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-ceil-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-floor-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-iceil-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-iceil-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-ifloor-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-ifloor-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-irint-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-irint-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-iround-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-iround-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lceil-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lceil-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lceil-rv32-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lceilf-rv64-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lfloor-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lfloor-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lfloor-rv32-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lfloorf-rv64-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llceil-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llceilf-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llfloor-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llfloorf-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llrint-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llrintf-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llrintf16-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llround-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llroundf-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-llroundf16-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lrint-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lrint-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lrint-rv32-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lrintf-rv64-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv32-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv64-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lround-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lround-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lround-rv32-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lroundf-rv64-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv32-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv64-0.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-nearbyint-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-rint-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-round-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-roundeven-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/math-trunc-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/max-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/merge-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/merge-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/merge-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/merge-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/merge-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/merge-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/merge-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/min-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/minus-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/minus-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/minus-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mod-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-10.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-11.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-12.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-13.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-14.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-15.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-16.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-17.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mov-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mulh-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/mult-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/narrow-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/narrow-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/narrow-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/neg-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/neg-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/not-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/perm-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/perm-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/perm-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/perm-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/perm-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/perm-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/plus-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/plus-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/plus-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-10.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-11.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-12.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-13.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-14.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-15.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-16.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-17.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-18.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/reduc-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/repeat-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls/series-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/series-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/series-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/series-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/shift-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/shift-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/shift-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/shift-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/shift-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/spill-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/spill-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/spill-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/spill-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/spill-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/sqrt-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trailing-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trailing-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trailing-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trailing-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trailing-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trailing-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trailing-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trunc-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trunc-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trunc-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trunc-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/trunc-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-10.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-11.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-12.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-13.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-14.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-15.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-16.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-17.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-18.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-19.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-20.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-21.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-22.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-5.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-6.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-7.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-8.c: Ditto * gcc.target/riscv/rvv/autovec/vls/vec-set-9.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wadd-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wadd-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wadd-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wadd-4.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wfma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wfma-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wfma-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wfms-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wfnma-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wfnms-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wmul-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wmul-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wmul-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wred-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wred-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wred-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wsub-1.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wsub-2.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wsub-3.c: Ditto * gcc.target/riscv/rvv/autovec/vls/wsub-4.c: Ditto * gcc.target/riscv/rvv/autovec/widen/widen_reduc-1.c: Ditto * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-2.c: Ditto * gcc.target/riscv/rvv/autovec/zve32f-3.c: Ditto * gcc.target/riscv/rvv/autovec/zve32x-3.c: Ditto * gcc.target/riscv/rvv/autovec/zve64d-3.c: Ditto * gcc.target/riscv/rvv/autovec/zve64f-3.c: Ditto * gcc.target/riscv/rvv/autovec/zve64x-3.c: Ditto * gcc.target/riscv/rvv/base/cpymem-1.c: Ditto * gcc.target/riscv/rvv/base/cpymem-2.c: Ditto * gcc.target/riscv/rvv/rvv.exp: Ditto * gcc.target/riscv/rvv/vsetvl/pr111255.c: Ditto * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Ditto * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: Ditto Signed-off-by: demin.han --- gcc/config/riscv/riscv-opts.h | 4 ++-- gcc/config/riscv/riscv-v.cc | 2 +- gcc/config/riscv/riscv-vector-costs.cc | 4 ++-- gcc/config/riscv/riscv.opt | 20 ++++++++++---------- 4 files changed, 15 insertions(+), 15 deletions(-) (limited to 'gcc/config') diff --git a/gcc/config/riscv/riscv-opts.h b/gcc/config/riscv/riscv-opts.h index 9ae86d5..392b916 100644 --- a/gcc/config/riscv/riscv-opts.h +++ b/gcc/config/riscv/riscv-opts.h @@ -74,7 +74,7 @@ enum stack_protector_guard { }; /* RISC-V auto-vectorization RVV LMUL. */ -enum riscv_autovec_lmul_enum { +enum rvv_max_lmul_enum { RVV_M1 = 1, RVV_M2 = 2, RVV_M4 = 4, @@ -152,6 +152,6 @@ enum rvv_vector_bits_enum { /* The maximmum LMUL according to user configuration. */ #define TARGET_MAX_LMUL \ - (int) (riscv_autovec_lmul == RVV_DYNAMIC ? RVV_M8 : riscv_autovec_lmul) + (int) (rvv_max_lmul == RVV_DYNAMIC ? RVV_M8 : rvv_max_lmul) #endif /* ! GCC_RISCV_OPTS_H */ diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index 967f4e3..814c5fe 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -2338,7 +2338,7 @@ preferred_simd_mode (scalar_mode mode) if (autovec_use_vlmax_p ()) { /* We use LMUL = 1 as base bytesize which is BYTES_PER_RISCV_VECTOR and - riscv_autovec_lmul as multiply factor to calculate the the NUNITS to + rvv_max_lmul as multiply factor to calculate the NUNITS to get the auto-vectorization mode. */ poly_uint64 nunits; poly_uint64 vector_size = BYTES_PER_RISCV_VECTOR * TARGET_MAX_LMUL; diff --git a/gcc/config/riscv/riscv-vector-costs.cc b/gcc/config/riscv/riscv-vector-costs.cc index 5ac8655..f462c27 100644 --- a/gcc/config/riscv/riscv-vector-costs.cc +++ b/gcc/config/riscv/riscv-vector-costs.cc @@ -890,7 +890,7 @@ costs::record_potential_unexpected_spills (loop_vec_info loop_vinfo) { /* We only want to apply the heuristic if LOOP_VINFO is being vectorized for VLA and known NITERS VLS loop. */ - if (riscv_autovec_lmul == RVV_DYNAMIC + if (rvv_max_lmul == RVV_DYNAMIC && (m_cost_type == VLA_VECTOR_COST || (m_cost_type == VLS_VECTOR_COST && LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)))) @@ -998,7 +998,7 @@ costs::better_main_loop_than_p (const vector_costs *uncast_other) const return other_prefer_unrolled; } } - else if (riscv_autovec_lmul == RVV_DYNAMIC) + else if (rvv_max_lmul == RVV_DYNAMIC) { if (other->m_has_unexpected_spills_p) { diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt index 710c0a4..7d625af 100644 --- a/gcc/config/riscv/riscv.opt +++ b/gcc/config/riscv/riscv.opt @@ -531,27 +531,27 @@ Target RejectNegative Joined UInteger Var(riscv_strcmp_inline_limit) Init(64) Max number of bytes to compare as part of inlined strcmp/strncmp routines (default: 64). Enum -Name(riscv_autovec_lmul) Type(enum riscv_autovec_lmul_enum) -The RVV possible LMUL (-param=riscv-autovec-lmul=): +Name(rvv_max_lmul) Type(enum rvv_max_lmul_enum) +The RVV possible LMUL (-mrvv-max-lmul=): EnumValue -Enum(riscv_autovec_lmul) String(m1) Value(RVV_M1) +Enum(rvv_max_lmul) String(m1) Value(RVV_M1) EnumValue -Enum(riscv_autovec_lmul) String(m2) Value(RVV_M2) +Enum(rvv_max_lmul) String(m2) Value(RVV_M2) EnumValue -Enum(riscv_autovec_lmul) String(m4) Value(RVV_M4) +Enum(rvv_max_lmul) String(m4) Value(RVV_M4) EnumValue -Enum(riscv_autovec_lmul) String(m8) Value(RVV_M8) +Enum(rvv_max_lmul) String(m8) Value(RVV_M8) EnumValue -Enum(riscv_autovec_lmul) String(dynamic) Value(RVV_DYNAMIC) +Enum(rvv_max_lmul) String(dynamic) Value(RVV_DYNAMIC) --param=riscv-autovec-lmul= -Target RejectNegative Joined Enum(riscv_autovec_lmul) Var(riscv_autovec_lmul) Init(RVV_M1) --param=riscv-autovec-lmul= Set the RVV LMUL of auto-vectorization in the RISC-V port. +mrvv-max-lmul= +Target RejectNegative Joined Enum(rvv_max_lmul) Var(rvv_max_lmul) Init(RVV_M1) +-mrvv-max-lmul= Set the RVV LMUL of auto-vectorization. madjust-lmul-cost Target Var(TARGET_ADJUST_LMUL_COST) Init(0) -- cgit v1.1