1  /* { dg-do compile { target { ! ia32 } } } */
       2  /* { dg-options "-msse2 -O2 -mtune=generic -mtune-ctrl=use_incdec -masm=att -mfpmath=sse" } */
       3  /* { dg-final { scan-assembler-times {(?n)movd[\t ]*%xmm0.*%eax} 1 } } */
       4  /* { dg-final { scan-assembler-times {(?n)incl[\t ]*%eax} 1 } } */
       5  /* { dg-final { scan-assembler-times {(?n)movq[\t ]*%xmm0.*%rax} 1 } } */
       6  /* { dg-final { scan-assembler-times {(?n)incq[\t ]*%rax} 1 } } */
       7  
       8  int
       9  foo (float a)
      10  {
      11    union{
      12      int b;
      13      float a;}u;
      14    u.a = a;
      15    return u.b + 1;
      16  }
      17  
      18  long long
      19  foo1 (double a)
      20  {
      21    union{
      22      long long b;
      23      double a;}u;
      24    u.a = a;
      25    return u.b + 1;
      26  }