blob: f12252efb18e627cc0c01572ea0bcadbb0609b91 [file] [log] [blame]
/* APPLE LOCAL file 5612787 mainline sse4 */
#include "sse4_2-check.h"
#include <nmmintrin.h>
#define NUM 1024
static int
compute_popcnt (TYPE v)
{
int ret;
int i;
ret = 0;
for (i = 0; i < sizeof(v) * 8; i++)
if ((v & ((TYPE)1 << (TYPE) i)))
ret++;
return ret;
}
static void
sse4_2_test (void)
{
int i;
TYPE vals[NUM];
TYPE res;
for (i = 0; i < NUM; i++)
{
vals[i] = rand ();
if (sizeof (TYPE) > 4)
vals[i] |= (TYPE)rand() << (TYPE)(sizeof (TYPE) * 4);
}
for (i=0; i < NUM; i++)
{
res = POPCNT (vals[i]);
if (res != compute_popcnt (vals[i]))
abort ();
}
}