blob: 3bb110e700d70414b32c5bb1e941ddac86cf7fda [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fno-omit-frame-pointer -w" } */
/* { dg-additional-options "-march=pentium-mmx" { target ia32 } } */
typedef struct { long long a; } a_t;
int *a, b;
a_t *e, c;
long long f;
void fn (int);
void fn2 (void);
int fn3 (a_t);
void fn4 (a_t);
a_t foo (long long val) { return (a_t){val}; }
static void
bar (int ka)
{
unsigned i;
for (i = 0; i < 512; i++) {
long d;
c = (a_t){d};
fn2 ();
}
fn (ka);
}
void
test (void)
{
a_t g;
a_t *h, j;
h = e;
j = *h;
if (e == (a_t *) 1) {
a_t k = {fn3 (j)};
fn4 (j);
long l;
g = foo((long long)b << 2 | l);
k = g;
if (j.a != k.a) {
a_t m = g;
int n = m.a, o = m.a >> 32;
asm ("# %0 %1 %2 %3" : "=m"(*a), "+A"(f) : "b"(n), "c"(o));
}
}
bar ((int) h);
}