https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93877
Oleg Endo <olegendo at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at gcc dot gnu.org --- Comment #12 from Oleg Endo <olegendo at gcc dot gnu.org> --- This looks to be an LRA related issue (checking with GCC 10). Without -mlra it actually compiles fine. Adding -mlra causes some issues: sh-elf-g++ -m4 -ml -matomic-model=soft-gusa -O2 -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -fstack-protector-strong -std=c++17 -mlra ../Source/ThirdParty/ANGLE/src/compiler/translator/IntermNode.cpp: In static member function 'static sh::TConstantUnion* sh::TIntermConstantUnion::FoldAggregateBuiltIn(sh::TIntermAggregate*, sh::TDiagnostics*)': ../Source/ThirdParty/ANGLE/src/compiler/translator/IntermNode.cpp:3747:1: error: insn does not satisfy its constraints: (insn 9652 9651 3240 388 (parallel [ (set (reg:SF 66 fr2 [orig:662 _764 ] [662]) (reg:SF 0 r0 [3347])) (use (reg:SI 154 fpscr0)) (clobber (scratch:SI)) ]) "../Source/ThirdParty/ANGLE/src/compiler/translator/IntermNode.cpp":3568:60 214 {movsf_ie} (expr_list:REG_DEAD (reg:SF 0 r0 [3347]) (nil))) during RTL pass: cprop_hardreg ../Source/ThirdParty/ANGLE/src/compiler/translator/IntermNode.cpp:3747:1: internal compiler error: in extract_constrain_insn, at recog.c:2195 0x5dee99 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:108 0x5deec2 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:118 0xe46907 extract_constrain_insn(rtx_insn*) ../../gcc/gcc/recog.c:2195 0xe4a204 copyprop_hardreg_forward_1 ../../gcc/gcc/regcprop.c:802 0xe4b212 execute ../../gcc/gcc/regcprop.c:1367 sh-elf-g++ -m4 -ml -matomic-model=soft-gusa -O2 -std=c++17 -mlra during RTL pass: reload ../Source/ThirdParty/ANGLE/src/compiler/translator/IntermNode.cpp: In member function 'sh::TConstantUnion* sh::TIntermConstantUnion::foldUnaryComponentWise(TOperator, sh::TDiagnostics*)': ../Source/ThirdParty/ANGLE/src/compiler/translator/IntermNode.cpp:3047:1: internal compiler error: in lra_set_insn_recog_data, at lra.c:1000 0xd1f5f1 lra_set_insn_recog_data(rtx_insn*) ../../gcc/gcc/lra.c:998 0xd2218f lra_get_insn_recog_data ../../gcc/gcc/lra-int.h:488 0xd2218f remove_scratches_1 ../../gcc/gcc/lra.c:2058 0xd22247 lra_emit_move(rtx_def*, rtx_def*) ../../gcc/gcc/lra.c:503 0xd399bb curr_insn_transform ../../gcc/gcc/lra-constraints.c:4434 0xd3b20d lra_constraints(bool) ../../gcc/gcc/lra-constraints.c:5025 0xd227d4 lra(_IO_FILE*) ../../gcc/gcc/lra.c:2437 0xcd20c9 do_reload ../../gcc/gcc/ira.c:5523 0xcd20c9 execute ../../gcc/gcc/ira.c:5709 Vlad, maybe you have some hint where to look?