blob: 8c9279a18bff590273512b26d0a6234eea784dc6 [file] [log] [blame]
/* { dg-do run { target lp64 } } */
/* { dg-options "-O2" } */
void abort (void);
typedef struct
{
double x;
} Double;
Double __attribute__((ms_abi, noinline, noclone))
fn1 (Double x1, Double x2, Double x3, Double x4, Double x5)
{
Double v;
v.x = x1.x + x2.x + x3.x + x4.x + x5.x;
return v;
}
int main ()
{
Double a, a1, a2, a3, a4, a5;
double x1 = 1.1;
double x2 = 3.1;
double x3 = 4.2;
double x4 = 14.2;
double x5 = -7.2;
double x = x1 + x2 + x3 + x4 + x5;
a1.x = x1;
a2.x = x2;
a3.x = x3;
a4.x = x4;
a5.x = x5;
a = fn1 (a1, a2, a3, a4, a5);
if (a.x == x);
return 0;
abort ();
}