On 8/4/2026 5:38 AM, Wang Yaduo wrote:
> diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
> index a401c0c7c9..a2b4149851 100644
> --- a/gcc/config/riscv/riscv.cc
> +++ b/gcc/config/riscv/riscv.cc
> @@ -300,6 +300,9 @@ struct riscv_tune_param
> const char *jump_align;
> const char *loop_align;
> bool prefer_agnostic;
> + unsigned short int_reassoc_width = 1;
> + unsigned short fp_reassoc_width = 1;
> + unsigned short vec_reassoc_width = 1;
> unsigned int small_loop_unroll_ninsns = 4;
> unsigned int small_loop_unroll_factor = 2;
> };
Hi Jeff,
From c++14, The omitted members with default member initializers use
those
initializers. Therefore, rocket_tune_info and the other initializers
ending at
prefer_agnostic get reassociation widths of 1/1/1, like the previous
small_loop_unroll_* field did.Do you prefer the fields to be explicit
in every
initializer for clarity?
You're right. I tend to think like an old C guy (well, I am an old C
guy :-) Having been bitten by this before I zeroed in and didn't
re-evaluate in the C++14 world. Thanks for being persistent.
As Robin indicated, this is OK for the trunk. I'll push it momentarily.
jeff