https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120941
--- Comment #21 from Filip Kastl <pheeck at gcc dot gnu.org> --- Oh, ok. I misunderstood. Well, you have SPEC CPU 2017, right? Then setting OPTIMIZE = -Ofast -march=znver2 -mtune=znver2 -g -flto -fdump-rtl-all should work. Perhaps you'll also need COPTIMIZE = -fpermissive -std=gnu17 Use GCC at commit r16-1644-gaba3b9d3a48a07 plus the rrvl dumping: diff --git a/gcc/config/i386/i386-features.cc b/gcc/config/i386/i386-features.cc index 36878aab968..29893e52439 100644 --- a/gcc/config/i386/i386-features.cc +++ b/gcc/config/i386/i386-features.cc @@ -3424,11 +3426,22 @@ replace_vector_const (machine_mode vector_mode, rtx vector_const, replace = gen_rtx_SUBREG (mode, vector_const, 0); } + if (dump_file) + { + fprintf (dump_file, "\nReplace:\n\n"); + print_rtl_single (dump_file, insn); + } SET_SRC (set) = replace; /* Drop possible dead definitions. */ PATTERN (insn) = set; INSN_CODE (insn) = -1; recog_memoized (insn); + if (dump_file) + { + fprintf (dump_file, "\nwith:\n\n"); + print_rtl_single (dump_file, insn); + fprintf (dump_file, "\n"); + } df_insn_rescan (insn); } } and you should see the replacement I mention in comment 17 in file lbm_r.ltrans0.ltrans.310r.rrvl.