https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69129
Bug ID: 69129 Summary: [6 Regression] ICE in get_attr_got, at config/mips/mips.md:694 on mips-linux-gnu Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- seen with trunk 20160103, building libgfortran $ gcc/build/./gcc/xgcc -B/scratch/packages/cross/6/gcc-6-cross-1/gcc/build/./gcc/ -std=gnu11 -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -minterlink-mips16 -c maxval_r4.i ../../../src/libgfortran/generated/maxval_r4.c: In function 'maxval_r4': ../../../src/libgfortran/generated/maxval_r4.c:200:1: error: unrecognizable insn: (insn 691 690 693 2 (parallel [ (set (mem/c:SI (plus:SI (reg/f:SI 29 $sp) (const_int 16 [0x10])) [11 S4 A32]) (unspec:SI [ (const_int 16 [0x10]) (reg:SI 28 $28) ] UNSPEC_POTENTIAL_CPRESTORE)) (clobber (scratch:SI)) ]) ../../../src/libgfortran/generated/maxval_r4.c:42 -1 (expr_list:REG_DEAD (reg:SI 28 $28) (nil))) ../../../src/libgfortran/generated/maxval_r4.c:200:1: internal compiler error: in get_attr_got, at config/mips/mips.md:694 0x8f29a8 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.c:108 0x8f29d9 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.c:116 0xc2a486 get_attr_got(rtx_insn*) ../../src/gcc/config/mips/mips.md:694 0xb82f98 mips_insn_has_flexible_gp_ref_p ../../src/gcc/config/mips/mips.c:9927 0xb75ea7 mips_find_gp_ref ../../src/gcc/config/mips/mips.c:9858 0xb81f51 mips_global_pointer ../../src/gcc/config/mips/mips.c:9979 0xb81f51 mips_compute_frame_info ../../src/gcc/config/mips/mips.c:10350 0xb8c7ae mips_initial_elimination_offset(int, int) ../../src/gcc/config/mips/mips.c:10591 0x8f42b3 rtx_addr_can_trap_p_1 ../../src/gcc/rtlanal.c:618 0x8f415f rtx_addr_can_trap_p_1 ../../src/gcc/rtlanal.c:678 0x8f7d3e may_trap_p_1(rtx_def const*, unsigned int) ../../src/gcc/rtlanal.c:2819 0x67fc64 can_move_insns_across(rtx_insn*, rtx_insn*, rtx_insn*, rtx_insn*, basic_block_def*, bitmap_head*, bitmap_head*, rtx_insn**) ../../src/gcc/df-problems.c:4156 0xd234d7 dead_or_predicable ../../src/gcc/ifcvt.c:5079 0xd2905e find_if_case_1 ../../src/gcc/ifcvt.c:4770 0xd2905e find_if_header ../../src/gcc/ifcvt.c:4171 0xd2905e if_convert ../../src/gcc/ifcvt.c:5305 0xd29b2d execute ../../src/gcc/ifcvt.c:5495 Please submit a full bug report, with preprocessed source if appropriate. _Noreturn fn1() __attribute__((__visibility__("hidden"))); fn2(struct gfc_array_r4 *p1) { int a[7]; float *b; int c, n; if (c != p1) fn1(); n = 0; for (; c; n++) { int d; if (a[n] != d) fn1(n); } b = p1; while (1) { *b = 3.40282347e38f; if (a[0]) return; } }