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