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?

Reply via email to