1 /* This testcase ICEd because a SFmode variable was given a MMX register
2    for which there is no movsf exists.  */
3 /* { dg-do compile } */
4 /* { dg-require-effective-target ia32 } */
5 /* { dg-options "-O2 -march=i686 -mmmx -fno-strict-aliasing" } */
6 
7 struct A { unsigned int a, b; };
8 
foo(struct A * x,int y,int z)9 void foo (struct A *x, int y, int z)
10 {
11    const float d = 1.0;
12    float e = (float) y + z;
13 
14    x->a = *(unsigned int *) &d;
15    x->b = *(unsigned int *) &e;
16 }
17