https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90539
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- Ok, looking at perf report: $ head -n20 before.report.txt # Overhead Command Shared Object Symbol # ........ ............... ....................... ................................................................... # 7.45% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_advect_em_MOD_advect_scalar 5.54% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_advance_w 5.48% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_advance_uv 5.45% wrf_peak.amd64- libc-2.29.so [.] __memset_avx2_unaligned_erms 4.51% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_big_step_utilities_em_MOD_calc_cq 3.84% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_bl_ysu_MOD_ysu2d 3.80% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_calc_p_rho 3.71% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_advance_mu_t 3.55% wrf_peak.amd64- libmvec-2.29.so [.] _ZGVdN8vv_powf_avx2 3.45% wrf_peak.amd64- libc-2.29.so [.] __memmove_avx_unaligned_erms 2.82% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_sumflux 2.69% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_em_MOD_rk_update_scalar 2.45% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_mp_lin_MOD_clphy1d 2.24% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_mp_lin_MOD_lin_et_al 2.16% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_small_step_prep 2.09% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_big_step_utilities_em_MOD_curvature 2.07% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_em_MOD_rk_addtend_dry $ head -n20 after.report.txt # Overhead Command Shared Object Symbol # ........ ............... ....................... ................................................................... # 19.91% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] solve_interface_ 5.99% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_advect_em_MOD_advect_scalar 4.59% wrf_peak.amd64- libc-2.29.so [.] __memset_avx2_unaligned_erms 4.45% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_advance_w 4.30% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_advance_uv 3.63% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_big_step_utilities_em_MOD_calc_cq 3.11% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_calc_p_rho 3.10% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_bl_ysu_MOD_ysu2d 3.02% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_advance_mu_t 2.77% wrf_peak.amd64- libc-2.29.so [.] __memmove_avx_unaligned_erms 2.75% wrf_peak.amd64- libmvec-2.29.so [.] _ZGVdN8vv_powf_avx2 2.31% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_sumflux 2.10% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_em_MOD_rk_update_scalar 1.87% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_mp_lin_MOD_clphy1d 1.78% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_mp_lin_MOD_lin_et_al 1.69% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_small_step_em_MOD_small_step_prep 1.68% wrf_peak.amd64- wrf_peak.amd64-m64-mine [.] __module_big_step_utilities_em_MOD_curvature The difference is in solve_interface_, I'll analyze that..