Source code is if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS]) SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 512); else if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS]) SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 256); else if (ix86_tune_features [X86_TUNE_AVOID_128FMA_CHAINS]) SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 128); Suggest code rework. I got this by adding -Wduplicated-cond to a build. If someone were brave enough to add this warning flag to -Wall, then other developers could benefit from a well hidden but useful flag.
git blame says: ^d4ba3b369 (Jonathan Wakely 2022-11-01 09:48:41 +0000 3037) if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS]) eef81eefcd (Jan Hubicka 2022-12-22 10:55:46 +0100 3038) SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 512); Adding Jonathan for their best advice.
This is nothing to do with me, g:d4ba3b369 doesn't touch that file at all, and git blame doesn't show that commit for me. Do you have a shallow clone maybe, and d4ba3b369 is simply the first commit in your history?
The correct git blame output is: 105c2795b0d6 gcc/config/i386/i386-options.c (Jan Hubicka 2019-07-23 09:35:18 +0000 3037) if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS]) eef81eefcdc2 gcc/config/i386/i386-options.cc (Jan Hubicka 2022-12-22 10:55:46 +0100 3038) SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 512); eef81eefcdc2 gcc/config/i386/i386-options.cc (Jan Hubicka 2022-12-22 10:55:46 +0100 3039) else if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS]) 028d40925205 gcc/config/i386/i386-options.c (Martin Liska 2019-11-12 11:08:40 +0100 3040) SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 256); 105c2795b0d6 gcc/config/i386/i386-options.c (Jan Hubicka 2019-07-23 09:35:18 +0000 3041) else if (ix86_tune_features [X86_TUNE_AVOID_128FMA_CHAINS]) 028d40925205 gcc/config/i386/i386-options.c (Martin Liska 2019-11-12 11:08:40 +0100 3042) SET_OPTION_IF_UNSET (opts, opts_set, param_avoid_fma_max_bits, 128);
(In reply to Jonathan Wakely from comment #3) > The correct git blame output is: > > 105c2795b0d6 gcc/config/i386/i386-options.c (Jan Hubicka > 2019-07-23 09:35:18 +0000 3037) if (ix86_tune_features Thanks for that. This bug looks like one for Jan, then. My apologies for the lack of git knowledge. Despite multiple attempts, I've never really reached a good understanding of it's more subtle aspects.