https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86683

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
This is caused by fact that:

enum insn_code {
  CODE_FOR_nothing = 0,
...
   CODE_FOR_p8_vmrgew_v4sf = CODE_FOR_nothing,
   CODE_FOR_p8_vmrgew_v4si = CODE_FOR_nothing,
   CODE_FOR_p8_vmrgow_v4sf = CODE_FOR_nothing,
   CODE_FOR_p8_vmrgow_v4si = CODE_FOR_nothing,
   CODE_FOR_p8_vmrgew_v4sf_direct = CODE_FOR_nothing,
   CODE_FOR_p8_vmrgew_v4si_direct = CODE_FOR_nothing,
   CODE_FOR_p8_vmrgow_v4sf_direct = CODE_FOR_nothing,
   CODE_FOR_p8_vmrgow_v4si_direct = CODE_FOR_nothing,
...
}

and then in altivec_expand_vec_perm_const:
patterns[j] (with j == 8) is accessed and it's CODE_FOR_nothing. Thus
insn_gen_fn::operator() segfaults.

Reply via email to