blob: 62d0c1cb514d3c0748ba88e9d401d1d52dc259da [file] [log] [blame]
/* Routine to check correctness of the results */
__attribute__((unused))
static int
saturate_b (int i)
{
if (i > 127)
i = 127;
else if (i < -128)
i = -128;
return i;
}
__attribute__((unused))
static int
saturate_w (int i)
{
if (i > 32767)
i = 32767;
else if (i < -32768)
i = -32768;
return i;
}
__attribute__((unused))
static int
saturate_ub (int i)
{
if (i > 255)
i = 255;
else if (i < 0)
i = 0;
return i;
}
__attribute__((unused))
static int
saturate_uw (int i)
{
if (i > 65535)
i = 65535;
else if (i < 0)
i = 0;
return i;
}
static long long MMXops[] =
{
0x3467512347612976LL, 0x000000000000000eLL,
0x3467512347612976LL, 0x0000000000000014LL,
0x3467512347612976LL, 0x000000000000003cLL,
0x0000000000000000LL, 0xFFFFFFFFFFFFFFFFLL,
0xFFFFFFFFFFFFFFFFLL, 0x0000000000000000LL,
0x0000000000000001LL, 0x1000000000000000LL,
0x1000000000000000LL, 0x0000000000000001LL,
0xFF00FF00FF00FF00LL, 0x00FF00FF00FF00FFLL,
0xFFFFFFFFFFFFFFFFLL, 0x0101010101010101LL,
0x0101010101010101LL, 0xFFFFFFFFFFFFFFFFLL,
0x0123456789ABCDEFLL, 0x0123456789ABCDEFLL,
0x3467512347612976LL, 0x1839876340879234LL,
0x0000000000000000LL, 0x0000000000000000LL,
0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL,
0x7F7F7F7F7F7F7F7FLL, 0x7F7F7F7F7F7F7F7FLL,
0x7F7F7F7F7F7F7F7FLL, 0x0101010101010101LL,
0x7F7F7F7F7F7F7F7FLL, 0x4782082349761237LL,
0x0000000000000000LL, 0x7F7F7F7F7F7F7F7FLL,
0x8080808080808080LL, 0x8080808080808080LL,
0x0101010101010101LL, 0x8080808080808080LL,
0x8080808080808080LL, 0x0000000000000000LL,
0x2372347120982458LL, 0x8080808080808080LL,
0xFFFFFFFFFFFFFFFFLL, 0x8080808080808080LL,
0x7F7F7F7F7F7F7F7FLL, 0xFFFFFFFFFFFFFFFFLL,
0x8080808080808080LL, 0x7F7F7F7F7F7F7F7FLL,
0xFFFFFFFFFFFFFFFFLL, 0x7F7F7F7F7F7F7F7FLL
};
#define MMX_num_ops (sizeof (MMXops) / sizeof (MMXops[0]))