http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57896
--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So, from quick skim of relevant routines that do gen_reg_rtx, I see: gen_reg_rtx called only after if (d->testing_p) return true;, thus ok: expand_vec_perm_blend expand_vec_perm_pshufb expand_vec_perm_palignr expand_vec_perm_vpermq_perm_1 expand_vec_perm_vperm2f128 expand_vec_perm_vperm2f128_vblend expand_vec_perm_2vperm2f128_vshuf expand_vec_perm_vpshufb2_vpermq expand_vec_perm_vpshufb2_vpermq_even_odd expand_vec_perm_vpshufb4_vpermq2 Does not look at testing_p at all, not ok: expand_vec_perm_pshufb2 expand_vec_perm_even_odd_1 Not ok: expand_vec_perm_interleave2 expand_vec_perm_broadcast_1 So, I think we want to fix those 4 routines.