view gcc/testsuite/gcc.c-torture/compile/20041119-1.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* PR rtl-optimization/17825 */
#ifdef __i386__
register unsigned int reg __asm ("esi");
#elif defined __x86_64__
register unsigned int reg __asm ("r14");
#else
unsigned int reg;
#endif

struct S
{
  unsigned int h[8];
} *b;
unsigned int c;
void foo (int);

void
bar (void)
{
  unsigned int j, k, l, m;

  j = (reg & 0xffff) | ((b->h[2] & 0xffff) << 16);
  k = c & 0xffff;
  if (k == 0)
    foo (0);
  l = (j / k) & 0xffff;
  m = (j % k) & 0xffff;
  reg = (reg & 0xffff0000) | l;
  b->h[2] = (b->h[2] & 0xffff0000) | m;
}