8480 – reload ICEs for LAPACK code on powerpc64-linux (original) (raw)
The three test cases all ICE with gcc version 3.3 20021104 (experimental) for powerpc64-linux, and for GCC 3.2. They are all derived from the LAPACK file TESTING/LIN/sdrvgt.f and are included in the same PR because all three ICEs might result from the same root cause; if not they can be split into separate PRs later.
Compiling lapack_bug_O1.f with -O1 gives:
lapack_bug_O1.f: In subroutine `sdrvgt': lapack_bug_O1.f:46: internal compiler error: in gen_add2_insn, at optabs.c:4196
Compiling lapack_bug_O2_1.f with -O2 gives:
lapack_bug_O2_1.f: In subroutine `sdrvgt': lapack_bug_O2_1.f💯 error: insn does not satisfy its constraints: (insn 750 749 676 9 (nil) (set (reg/f:DI 59 f27 [244]) (plus:DI (reg/f:DI 59 f27 [244]) (const_int 288 [0x120]))) 226 {*adddi3_internal1} (nil) (expr_list:REG_EQUIV (plus:DI (reg/f:DI 1 r1) (const_int 288 [0x120])) lapack_bug_O2_1.f💯 internal compiler error: in reload_cse_simplify_operands, at reload1.c:8331
Compiling lapack_bug_O2_2.f with -O2 gives:
lapack_bug_O2_2.f: In subroutine `sdrvgt': lapack_bug_O2_2.f:78: internal compiler error: in reload, at reload1.c:1109 (nil)))
Release: 3.3 20021104 (experimental) and 3.2
Environment: powerpc64-linux
How-To-Repeat: See description.