https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80125
Bug ID: 80125 Summary: [7 Regression] r246297 causes segfault in reg_used_between_p() Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org CC: segher at gcc dot gnu.org Target Milestone: --- Host: ppc64le Target: ppc64le Build: ppc64le Since r246297 I see: trippels@gcc2-power8 ffmpeg % cat postprocess.i int a[1]; void dering_altivec() { __attribute__((altivec(vector__))) int b, e, f, g, h, j, n; __attribute__((altivec(vector__))) unsigned c, d; f = __builtin_vec_sums(h, b); __attribute__((altivec(vector__))) int i = __builtin_vec_mergel(f, g); __attribute__((altivec(vector__))) int k = __builtin_vec_mergel(i, j); __attribute__((altivec(vector__))) int l = __builtin_vec_sl(k, c); __attribute__((altivec(vector__))) int m = __builtin_vec_sl(l, d); __attribute__((altivec(vector__))) char o; __attribute__((altivec(vector__))) int p = __builtin_vec_perm(m, n, o); e = __builtin_vec_sra(p, c); __builtin_vec_st(e, 0, a); } trippels@gcc2-power8 ffmpeg % gcc -c -O2 postprocess.i postprocess.i: In function ‘dering_altivec’: postprocess.i:14:1: internal compiler error: Segmentation fault } ^ 0x108d4d73 crash_signal ../../gcc/gcc/toplev.c:337 0x1084f7d8 reg_used_between_p(rtx_def const*, rtx_insn const*, rtx_insn const*) ../../gcc/gcc/rtlanal.c:1093 0x110a4677 can_combine_p ../../gcc/gcc/combine.c:1958 0x110ae71f try_combine ../../gcc/gcc/combine.c:2985 0x110b5497 combine_instructions ../../gcc/gcc/combine.c:1294 0x110b5497 rest_of_handle_combine ../../gcc/gcc/combine.c:14645 0x110b5497 execute ../../gcc/gcc/combine.c:14690 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.