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

--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> ---
Happens in fre3 pass.

The pass starts with:

do_syscalls ()
{
  register int reg __asm__ (*4);
  register int reg __asm__ (*4);
  int s;

  <bb 2> [33.33%]:
  reg = 0;
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  reg = 1;
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  s_11 = 1;
  reg = 0;
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  reg = 1;
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  s_16 = 2;
  return;

}

and converts the above to:

do_syscalls ()
{
  register int reg __asm__ (*4);
  register int reg __asm__ (*4);
  int s;

  <bb 2> [33.33%]:
  reg = 0;
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  reg = 1;
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  __asm__ __volatile__("/* Some Code %0 */" :  : "r" reg);
  return;

}

Reply via email to