blob: 52c8065dd1b7576727565fe06f54ee2de13f4f2a [file] [log] [blame]
/* { dg-require-effective-target int32plus } */
#define F 140
#define T 13
feq (int x, int y)
{
if (x == y)
return T;
else
return F;
}
fne (int x, int y)
{
if (x != y)
return T;
else
return F;
}
flt (int x, int y)
{
if (x < y)
return T;
else
return F;
}
fge (int x, int y)
{
if (x >= y)
return T;
else
return F;
}
fgt (int x, int y)
{
if (x > y)
return T;
else
return F;
}
fle (int x, int y)
{
if (x <= y)
return T;
else
return F;
}
fltu (unsigned int x, unsigned int y)
{
if (x < y)
return T;
else
return F;
}
fgeu (unsigned int x, unsigned int y)
{
if (x >= y)
return T;
else
return F;
}
fgtu (unsigned int x, unsigned int y)
{
if (x > y)
return T;
else
return F;
}
fleu (unsigned int x, unsigned int y)
{
if (x <= y)
return T;
else
return F;
}
unsigned int args[] =
{
0L,
1L,
-1L,
0x7fffffffL,
0x80000000L,
0x80000001L,
0x1A3F2373L,
0x93850E92L
};
int correct_results[] =
{
T, F, F, T, F, T, F, T, F, T,
F, T, T, F, F, T, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, F, T, T, F, F, T, T, F,
T, F, F, T, F, T, F, T, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, F, T, T, F,
T, F, F, T, F, T, F, T, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, T, F, F, T, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, T, F, F, T,
T, F, F, T, F, T, F, T, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
T, F, F, T, F, T, F, T, F, T,
F, T, T, F, F, T, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
T, F, F, T, F, T, F, T, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, T, F, F, T,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, F, T, T, F, T, F, F, T,
T, F, F, T, F, T, F, T, F, T,
F, T, F, T, T, F, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, F, T, T, F,
F, T, T, F, F, T, T, F, F, T,
F, T, T, F, F, T, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, F, T, T, F, F, T, T, F,
F, T, T, F, F, T, F, T, T, F,
T, F, F, T, F, T, F, T, F, T
};
int
main (void)
{
int i, j, *res = correct_results;
for (i = 0; i < 8; i++)
{
unsigned int arg0 = args[i];
for (j = 0; j < 8; j++)
{
unsigned int arg1 = args[j];
if (feq (arg0, arg1) != *res++)
abort ();
if (fne (arg0, arg1) != *res++)
abort ();
if (flt (arg0, arg1) != *res++)
abort ();
if (fge (arg0, arg1) != *res++)
abort ();
if (fgt (arg0, arg1) != *res++)
abort ();
if (fle (arg0, arg1) != *res++)
abort ();
if (fltu (arg0, arg1) != *res++)
abort ();
if (fgeu (arg0, arg1) != *res++)
abort ();
if (fgtu (arg0, arg1) != *res++)
abort ();
if (fleu (arg0, arg1) != *res++)
abort ();
}
}
exit (0);
}