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.

Reply via email to