(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
20080122-1.c
       1  /* PR rtl-optimization/34628 */
       2  /* Origin: Martin Michlmayr <tbm@cyrius.com> */
       3  
       4  typedef unsigned short u16;
       5  typedef unsigned char u8;
       6  
       7  static void
       8  do_segfault(u8 in_buf[], const u8 out_buf[], const int len)
       9  {
      10    int i;
      11  
      12    for (i = 0; i < len; i++) {
      13      asm("");
      14  
      15      in_buf[2*i] = (   out_buf[2*i] | out_buf[(2*i)+1]<<8  ) & 0xFF;
      16  
      17      asm("");
      18  
      19      in_buf[(2*i)+1] =  ( out_buf[2*i] | out_buf[(2*i)+1]<<8 ) >> 8;
      20  
      21      asm("");
      22    }
      23  }
      24  
      25  int main(int argc, char *argv[])
      26  {
      27    u8 outbuf[32] = "buffer     ";
      28    u8 inbuf[32] = "\f";
      29  
      30    asm("");
      31    do_segfault(inbuf, outbuf, 12);
      32    asm("");
      33  
      34    return 0;
      35  }