blob: 3e0e565f406ae0ecbf03dfb47fd0aa2d51a25218 [file] [log] [blame]
/* 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;
}