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

--- Comment #5 from Peter Bergner <bergner at gcc dot gnu.org> ---
I'm testing a patch that gives a better error message and eliminates the ICE:

[bergner@dagger1 PR89313]$ cat pr89313.i 
long f;
long g (void)
{
  register long z asm ("rax");
  asm ("foo %0, %1, %2" : "=&r" (z) : "r" (f), "0" (f));
  return z;
}
[bergner@dagger1 PR89313]$
/home/bergner/gcc/build/gcc-fsf-mainline-pr89313-debug/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-pr89313-debug/gcc -O2 -S pr89313.i 
pr89313.i: In function ā€˜g’:
pr89313.i:5:3: error: incompatible constraint usage for input operands when
paired with an early clobber operand
    5 |   asm ("foo %0, %1, %2" : "=&r" (z) : "r" (f), "0" (f));
      |   ^~~
[bergner@dagger1 PR89313]$

Reply via email to