https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91749
Bug ID: 91749 Summary: [10 Regression] ICE in arm_asm_trampoline_template, at config/arm/arm.c:3973 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: clyon at gcc dot gnu.org, mickael.guene at st dot com Target Milestone: --- Host: x86_64-pc-linux-gnu Target: arm-none-eabi-gcc Started probably with the addition of the option (r27556): $ arm-linux-gnueabi-gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/20000822-1.c -mflip-thumb -mfdpic /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/20000822-1.c: In function ‘main’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/20000822-1.c:24:5: warning: implicit declaration of function ‘abort’ [-Wimplicit-function-declaration] 24 | abort (); | ^~~~~ /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/20000822-1.c:24:5: warning: incompatible implicit declaration of built-in function ‘abort’ /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/20000822-1.c:1:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘abort’ +++ |+#include <stdlib.h> 1 | /* { dg-require-effective-target trampolines } */ during RTL pass: expand /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/20000822-1.c: In function ‘f1’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/20000822-1.c:8:5: internal compiler error: in arm_asm_trampoline_template, at config/arm/arm.c:3973 8 | int f1(void) | ^~ 0x59343d arm_asm_trampoline_template /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/config/arm/arm.c:3973 0xcdb1c4 assemble_trampoline_template() /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/varasm.c:2691 0xd04630 arm_trampoline_init /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/config/arm/arm.c:4028 0x67d607 expand_builtin_init_trampoline /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/builtins.c:5792 0x68bd71 expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/builtins.c:7917 0x79576e expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/expr.c:11072 0x6a7dd9 expand_expr /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/expr.h:281 0x6a7dd9 expand_call_stmt /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cfgexpand.c:2731 0x6a7dd9 expand_gimple_stmt_1 /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cfgexpand.c:3710 0x6a7dd9 expand_gimple_stmt /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cfgexpand.c:3875 0x6aca0f expand_gimple_basic_block /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cfgexpand.c:5915 0x6aee46 execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cfgexpand.c:6555 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. $ ~/BIG/bin/arm/dev/shm/buildbot/install/gcc/bin/arm-linux-gnueabi-gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-6.c -mfdpic -mflip-thumb -Ofast -mandroid -c /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-6.c: In function ‘bar.constprop’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-6.c:27:1: error: unrecognizable insn: 27 | } | ^ (insn 7 6 8 2 (set (reg:SI 114) (mem/u/c:SI (plus:SI (reg:SI 9 r9) (unspec:SI [ (symbol_ref:SI ("*.LANCHOR0") [flags 0x182]) ] UNSPEC_PIC_SYM)) [0 S4 A32])) -1 (expr_list:REG_EQUAL (symbol_ref:SI ("*.LANCHOR0") [flags 0x182]) (nil))) during RTL pass: vregs /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-6.c:27:1: internal compiler error: in extract_insn, at recog.c:2310 0x5843d1 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/rtl-error.c:108 0x5843ed _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/rtl-error.c:116 0x5838a8 extract_insn(rtx_insn*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/recog.c:2310 0x7e0033 instantiate_virtual_regs_in_insn /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/function.c:1606 0x7e0033 instantiate_virtual_regs /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/function.c:1976 0x7e0033 execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/function.c:2025 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.