1  /* { dg-do run { target lp64 } } */
       2  /* { dg-options "-O2" } */
       3  
       4  void abort (void);
       5  
       6  typedef struct
       7  {
       8    float x;
       9  } Float;
      10  
      11  Float __attribute__((ms_abi)) fn1 ()
      12  {
      13    Float v;
      14    v.x = 3.145;
      15    return v;
      16  }
      17  
      18  Float fn2 ()
      19  {
      20    Float v;
      21    v.x = 3.145;
      22    return v;
      23  }
      24  
      25  int main ()
      26  {
      27    Float a, b;
      28    a = fn1 ();
      29    b = fn2 ();
      30    if (a.x == 3.145f && b.x == 3.145f)
      31      return 0; 
      32    abort ();   
      33  }