1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fno-omit-frame-pointer -w" } */ 3 /* { dg-additional-options "-march=pentium-mmx" { target ia32 } } */ 4 5 typedef struct { long long a; } a_t; 6 int *a, b; 7 a_t *e, c; 8 long long f; 9 void fn (int); 10 void fn2 (void); 11 int fn3 (a_t); 12 void fn4 (a_t); foo(long long val)13a_t foo (long long val) { return (a_t){val}; } 14 static void bar(int ka)15bar (int ka) 16 { 17 unsigned i; 18 for (i = 0; i < 512; i++) { 19 long d; 20 c = (a_t){d}; 21 fn2 (); 22 } 23 fn (ka); 24 } 25 void test(void)26test (void) 27 { 28 a_t g; 29 a_t *h, j; 30 h = e; 31 j = *h; 32 if (e == (a_t *) 1) { 33 a_t k = {fn3 (j)}; 34 fn4 (j); 35 long l; 36 g = foo((long long)b << 2 | l); 37 k = g; 38 if (j.a != k.a) { 39 a_t m = g; 40 int n = m.a, o = m.a >> 32; 41 asm ("# %0 %1 %2 %3" : "=m"(*a), "+A"(f) : "b"(n), "c"(o)); 42 } 43 } 44 bar ((int) h); 45 } 46