1/* PR rtl-optimization/17825 */
2#ifdef __i386__
3register unsigned int reg __asm ("esi");
4#elif defined __x86_64__
5register unsigned int reg __asm ("r14");
6#else
7unsigned int reg;
8#endif
9
10struct S
11{
12  unsigned int h[8];
13} *b;
14unsigned int c;
15void foo (int);
16
17void
18bar (void)
19{
20  unsigned int j, k, l, m;
21
22  j = (reg & 0xffff) | ((b->h[2] & 0xffff) << 16);
23  k = c & 0xffff;
24  if (k == 0)
25    foo (0);
26  l = (j / k) & 0xffff;
27  m = (j % k) & 0xffff;
28  reg = (reg & 0xffff0000) | l;
29  b->h[2] = (b->h[2] & 0xffff0000) | m;
30}
31