https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97992

--- Comment #2 from G. Steinmetz <gs...@t-online.de> ---

Presumably related :


$ cat z2.c
long double
f (long double x)
{
  asm ("fsqrt" :: ""(x));
  return 1.0 - x;
}


$ cat z5.c
double
foo (double a)
{
  for (int i=0; i<4; i++)
  {
    asm ("mov %1" : "=&t"(a) : ""(a));
  }
  return a;
}


$ gcc-11-20201129 -c z2.c -O2
during RTL pass: stack
z2.c: In function 'f':
z2.c:6:1: internal compiler error: in change_stack, at reg-stack.c:2646
    6 | }
      | ^
0xac4218 change_stack
        ../../gcc/reg-stack.c:2646
0xac44ec subst_asm_stack_regs
        ../../gcc/reg-stack.c:2254
0xac655d subst_stack_regs
        ../../gcc/reg-stack.c:2425
0xac68d7 convert_regs_1
        ../../gcc/reg-stack.c:3080
0xac68d7 convert_regs_2
        ../../gcc/reg-stack.c:3214
0xac7a8d convert_regs
        ../../gcc/reg-stack.c:3249
0xac7a8d reg_to_stack
        ../../gcc/reg-stack.c:3374
0xac7a8d rest_of_handle_stack_regs
        ../../gcc/reg-stack.c:3429
0xac7a8d execute
        ../../gcc/reg-stack.c:3460

Reply via email to