PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr57915.c
blob0b143e0cc4bc210659e531d4f5e1d74b86276714
1 /* PR rtl-optimization/57915 */
2 /* { dg-do compile } */
3 /* { dg-options "-Os" } */
5 extern struct T { char a[8]; char b[16]; } t;
6 int c;
7 void foo (void);
9 extern inline char *
10 baz (char *x, const char *y)
12 const char *e = y;
13 unsigned long f, g;
14 asm ("" : "+c" (f), "+D" (e) : "a" ('\0'), "X" (*e));
15 g = e - 1 - y;
16 __builtin_memcpy (x, y, g);
17 x[g] = '\0';
18 return x;
21 void
22 bar (void)
24 char d[16];
25 baz (d, t.b);
27 for (;;)
29 foo ();
30 if (c)
31 baz (d, t.b);