/* { dg-do compile { target ia32 } } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler-times "movl\[^\n\r]*, %eax" 1 } } */
/* { dg-final { scan-assembler-times "flds\[^\n\r]*" 1 } } */
typedef struct
{
  float x;
} Float;

Float __attribute__((ms_abi)) fn1 ()
{
  Float v;
  v.x = 3.145;
  return v;
}

float __attribute__((ms_abi)) fn2 ()
{
  float v;
  v = 3.145;
  return v;
}
