/* PR rtl-optimization/34628 */ /* Origin: Martin Michlmayr */ typedef unsigned short u16; typedef unsigned char u8; static void do_segfault(u8 in_buf[], const u8 out_buf[], const int len) { int i; for (i = 0; i < len; i++) { asm(""); in_buf[2*i] = ( out_buf[2*i] | out_buf[(2*i)+1]<<8 ) & 0xFF; asm(""); in_buf[(2*i)+1] = ( out_buf[2*i] | out_buf[(2*i)+1]<<8 ) >> 8; asm(""); } } int main(int argc, char *argv[]) { u8 outbuf[32] = "buffer "; u8 inbuf[32] = "\f"; asm(""); do_segfault(inbuf, outbuf, 12); asm(""); return 0; }