https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89324
Bug ID: 89324 Summary: ICE in extract_constrain_insn, at recog.c:2211 on aarch64 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Following is causing ICE: $ cat ice.f90 module a contains pure function myotherlen() myotherlen = 99 end subroutine b characterx block character(myotherlen()) c c = "abc" x = c end block end end $ aarch64-linux-gnu-gcc ice.f90 -fsanitize=undefined -fno-schedule-insns -O2 -c ice.f90 ice.f90:14:0: 14 | end | Error: insn does not satisfy its constraints: (insn 85 16 22 2 (parallel [ (set (reg:CC 66 cc) (compare:CC (reg/f:DI 31 sp) (const_int -3 [0xfffffffffffffffd]))) (set (reg/f:DI 19 x19 [110]) (plus:DI (reg/f:DI 31 sp) (const_int 3 [0x3]))) ]) "ice.f90":10:0 314 {subdi3_compare1_imm} (nil)) during RTL pass: cprop_hardreg ice.f90:14:0: internal compiler error: in extract_constrain_insn, at recog.c:2211 0x5d848d _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/rtl-error.c:108 0x5d84b3 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/rtl-error.c:118 0x5d7a28 extract_constrain_insn(rtx_insn*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/recog.c:2211 0xabec97 copyprop_hardreg_forward_1 /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/regcprop.c:801 0xabf7e4 execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/regcprop.c:1307