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 do_segfault(u8 in_buf[],const u8 out_buf[],const int len)8do_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 main(int argc,char * argv[])25int 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 } 36