Bug 87213 - ICE in final_scan_insn_1, at final.c:3070
Summary: ICE in final_scan_insn_1, at final.c:3070
Status: RESOLVED WORKSFORME
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 9.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2018-09-04 07:53 UTC by Martin Liška
Modified: 2020-02-05 12:32 UTC (History)
2 users (show)

See Also:
Host:
Target: powerpc*-*-*
Build:
Known to work: 7.0, 9.0
Known to fail: 8.0
Last reconfirmed: 2019-04-26 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Liška 2018-09-04 07:53:29 UTC
Following causes ICE:

$ ./xgcc -B. /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/pr82001.c -mno-direct-move -O3
xgcc: warning: ‘-mno-direct-move’ is deprecated
cc1: warning: ‘-mno-direct-move’ is deprecated
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/pr82001.c: In function ‘mulhi’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/pr82001.c:19:1: error: could not split insn
19 | }
   | ^
(insn 15 10 16 (set (reg/i:DI 3 3)
        (sign_extend:DI (reg:SI 32 0 [orig:124 a ] [124]))) "/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/pr82001.c":19 38 {extendsidi2}
     (expr_list:REG_DEAD (reg:SI 32 0 [orig:124 a ] [124])
        (nil)))
during RTL pass: final
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/pr82001.c:19:1: internal compiler error: in final_scan_insn_1, at final.c:3070
0x10e36a27 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
	../../gcc/rtl-error.c:108
0x108a0cc7 final_scan_insn_1
	../../gcc/final.c:3070
0x108a1187 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
	../../gcc/final.c:3149
0x1089dd7b final_1
	../../gcc/final.c:2019
0x108a547f rest_of_handle_final
	../../gcc/final.c:4660
0x108a599f execute
	../../gcc/final.c:4734
Comment 1 Segher Boessenkool 2019-04-26 23:37:59 UTC
It does not fail on GCC 7 or GCC 9, but it does still fail like this on GCC 8.
Confirmed.
Comment 2 Segher Boessenkool 2020-02-05 00:16:56 UTC
I don't know how I reproduced this before, but I cannot any more.
Comment 3 Martin Liška 2020-02-05 08:39:14 UTC
I can confirm that.