https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115752
--- Comment #1 from chenglulu <chenglulu at loongson dot cn> --- test.c extern long double test1 (long double); extern long double test2 (long double); long double __ieee754_y1l (long double x, long double xx, long double z, long double p) { if (xx <= 2) { __asm ("" : "+f"(x)); p = test1 (x) * test2 (x) + p; return p; } return z; } $ gcc/cc1 test.c -o - -O1 .file "test.c" __ieee754_y1l Analyzing compilation unit Performing interprocedural optimizations <*free_lang_data> {heap 908k} <visibility> {heap 908k} <build_ssa_passes> {heap 908k} <opt_local_passes> {heap 1180k} <remove_symbols> {heap 1784k} <targetclone> {heap 1784k} <free-fnsummary> {heap 1784k}Streaming LTO <whole-program> {heap 1784k} <profile_estimate> {heap 1784k} <fnsummary> {heap 1784k} <inline> {heap 1784k} <pure-const> {heap 1784k} <modref> {heap 1784k} <free-fnsummary> {heap 1784k} <static-var> {heap 1784k} <single-use> {heap 1784k} <comdats> {heap 1784k} .text Assembling functions: __ieee754_y1lduring RTL pass: reload test.c: In function '__ieee754_y1l': test.c:16:1: internal compiler error: maximum number of generated reload insns per insn achieved (90) 16 | } | ^ 0x11d5abd lra_constraints(bool) /home/chenglulu/work/loongisa-toolchain/new_toolchain/src/gcc-upstream-test/gcc/lra-constraints.cc:5402 0x11bf43f lra(_IO_FILE*, int) /home/chenglulu/work/loongisa-toolchain/new_toolchain/src/gcc-upstream-test/gcc/lra.cc:2442 0x116c862 do_reload /home/chenglulu/work/loongisa-toolchain/new_toolchain/src/gcc-upstream-test/gcc/ira.cc:5973 0x116cd16 execute /home/chenglulu/work/loongisa-toolchain/new_toolchain/src/gcc-upstream-test/gcc/ira.cc:6161 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.