modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/20041119-1.c (about)

     1  /* PR rtl-optimization/17825 */
     2  #ifdef __i386__
     3  register unsigned int reg __asm ("esi");
     4  #elif defined __x86_64__
     5  register unsigned int reg __asm ("r14");
     6  #else
     7  unsigned int reg;
     8  #endif
     9  
    10  struct S
    11  {
    12    unsigned int h[8];
    13  } *b;
    14  unsigned int c;
    15  void foo (int);
    16  
    17  void
    18  bar (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  }