PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20080122-1.c
bloba2f7fed87e0d8e7f7fc7e974566e7f01f2dc7d5c
1 /* PR rtl-optimization/34628 */
2 /* Origin: Martin Michlmayr <tbm@cyrius.com> */
4 typedef unsigned short u16;
5 typedef unsigned char u8;
7 static void
8 do_segfault(u8 in_buf[], const u8 out_buf[], const int len)
10 int i;
12 for (i = 0; i < len; i++) {
13 asm("");
15 in_buf[2*i] = ( out_buf[2*i] | out_buf[(2*i)+1]<<8 ) & 0xFF;
17 asm("");
19 in_buf[(2*i)+1] = ( out_buf[2*i] | out_buf[(2*i)+1]<<8 ) >> 8;
21 asm("");
25 int main(int argc, char *argv[])
27 u8 outbuf[32] = "buffer ";
28 u8 inbuf[32] = "\f";
30 asm("");
31 do_segfault(inbuf, outbuf, 12);
32 asm("");
34 return 0;