https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83485
Bug ID: 83485 Summary: cris: ICE in extract_insn, at recog.c:2311 Product: gcc Version: 7.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: arnd at linaro dot org Target Milestone: --- Created attachment 42918 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42918&action=edit linux/drivers/tty/serial/8250/8250_core.c, preprocessed I ran into one ICE while cross-compiling an allmodconfig linux kernel for cris, this happened with both gcc-4.9.3 and gcc-7.2.1, but not with gcc-4.3.6. I don't care about this bug, but it seems better to report it. PR69040 seems to be another bug that also results in an ICE, but I could not reproduce that one with current linux sources. $ cris-linux-gcc-7.2.1 -Wall -O2 8250_core.i -c In file included from /git/arm-soc/include/linux/srcu.h:34:0, from /git/arm-soc/include/linux/notifier.h:16, from /git/arm-soc/include/linux/memory_hotplug.h:7, from /git/arm-soc/include/linux/mmzone.h:775, from /git/arm-soc/include/linux/gfp.h:6, from /git/arm-soc/include/linux/umh.h:4, from /git/arm-soc/include/linux/kmod.h:22, from /git/arm-soc/include/linux/module.h:13, from /git/arm-soc/drivers/tty/serial/8250/8250_core.c:17: /git/arm-soc/include/linux/workqueue.h: In function 'work_static': /git/arm-soc/include/linux/workqueue.h:198:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] return *work_data_bits(work) & WORK_STRUCT_STATIC; ^~~~~~ /git/arm-soc/drivers/tty/serial/8250/8250_core.c: In function 'serial8250_unregister_port': /git/arm-soc/drivers/tty/serial/8250/8250_core.c:1098:1: error: unrecognizable insn: } ^ (insn 121 120 92 5 (set (reg:QI 9 r9 [95]) (ior:QI (mem:QI (reg/f:SI 10 r10 [87]) [94 MEM[(struct uart_8250_port *)&serial8250_ports][line_9(D)].port.quirks+0 S1 A8]) (reg:QI 9 r9 [89]))) "/git/arm-soc/drivers/tty/serial/8250/8250_core.c":496 -1 (nil)) /git/arm-soc/drivers/tty/serial/8250/8250_core.c:1098:1: internal compiler error: in extract_insn, at recog.c:2311 0x9424f3 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/arnd/git/gcc/gcc/rtl-error.c:108 0x942529 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/arnd/git/gcc/gcc/rtl-error.c:116 0x910039 extract_insn(rtx_insn*) /home/arnd/git/gcc/gcc/recog.c:2311 0x9100a1 extract_insn_cached(rtx_insn*) /home/arnd/git/gcc/gcc/recog.c:2201 0x727449 cleanup_subreg_operands(rtx_insn*) /home/arnd/git/gcc/gcc/final.c:3152 0x90e58c split_insn /home/arnd/git/gcc/gcc/recog.c:2925 0x91230c split_all_insns() /home/arnd/git/gcc/gcc/recog.c:2978 0x9123b8 execute /home/arnd/git/gcc/gcc/recog.c:3983 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. $ /home/arnd/cross-gcc/bin/cris-linux-gcc-4.9.3 -Wall -O2 8250_core.i -c /git/arm-soc/drivers/tty/serial/8250/8250_core.c: In function 'serial8250_unregister_port': /git/arm-soc/drivers/tty/serial/8250/8250_core.c:1098:1: error: unrecognizable insn: } ^ (insn 122 121 92 5 (set (reg:QI 13 r13 [orig:93 D.32632 ] [93]) (ior:QI (mem/j:QI (reg/f:SI 9 r9 [85]) [0 MEM[(struct uart_8250_port *)&serial8250_ports][line_3(D)].port.quirks+0 S1 A8]) (reg:QI 13 r13 [87]))) /git/arm-soc/drivers/tty/serial/8250/8250_core.c:496 -1 (nil)) /git/arm-soc/drivers/tty/serial/8250/8250_core.c:1098:1: internal compiler error: in extract_insn, at recog.c:2202 0x7e5295 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/arnd/git/gcc/gcc/rtl-error.c:109 0x7e52c9 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/arnd/git/gcc/gcc/rtl-error.c:117 0x7b6fa4 extract_insn(rtx_def*) /home/arnd/git/gcc/gcc/recog.c:2202 0x7b7024 extract_insn_cached(rtx_def*) /home/arnd/git/gcc/gcc/recog.c:2105 0x664e8d cleanup_subreg_operands(rtx_def*) /home/arnd/git/gcc/gcc/final.c:3063 0x7b4b9c split_insn /home/arnd/git/gcc/gcc/recog.c:2920 0x7b9254 split_all_insns() /home/arnd/git/gcc/gcc/recog.c:2974 0x7b92f4 rest_of_handle_split_after_reload /home/arnd/git/gcc/gcc/recog.c:3925 0x7b92f4 execute /home/arnd/git/gcc/gcc/recog.c:3954