static void
sse3_test (void)
{
  int i;
  int fail = 0;

  for (i = 0; i < 80; i += 4)
    {
      p1[0] = vals[i+0];
      p1[1] = vals[i+1];

      p2[0] = vals[i+2];
      p2[1] = vals[i+3];

      ck[0] = p1[0] + p1[1];
      ck[1] = p2[0] + p2[1];

      sse3_test_haddpd (p1, p2, p3);

      fail += chk_pd (ck, p3);

      sse3_test_haddpd_subsume (p1, p2, p3);

      fail += chk_pd (ck, p3);
    }

  if (fail != 0)
    abort ();
}
示例#2
0
文件: pr55829.c 项目: 0day-ci/gcc
int sse3_test (void)
{
  int i = 0;
  int fail = 0;
  for (; i < 80; i += 1)
    {
      ck[0] = p1[0];
      fail += chk_pd (ck, p2);
      sse3_test_movddup_reg_subsume_ldsd (p1, p2);
    }
  return fail;
}
示例#3
0
static void
TEST (void)
{
  int i;
  int fail = 0;

  for (i = 0; i < 80; i += 1)
    {
      p1[0] = vals[i+0];

      ck[0] = p1[0];
      ck[1] = p1[0];

      sse3_test_movddup_mem (p1, p2);

      fail += chk_pd (ck, p2);

      sse3_test_movddup_reg (p1, p2);

      fail += chk_pd (ck, p2);

      sse3_test_movddup_reg_subsume (p1, p2);

      fail += chk_pd (ck, p2);

      sse3_test_movddup_reg_subsume_unaligned (p1, p2);

      fail += chk_pd (ck, p2);

      sse3_test_movddup_reg_subsume_ldsd (p1, p2);

      fail += chk_pd (ck, p2);
    }

  if (fail != 0)
    abort ();
}
示例#4
0
static void
sse3_test (void)
{
  int i;
  int fail = 0;

  for (i = 0; i < 80; i += 2)
    {
      p1[0] = vals[i+0];
      p1[1] = vals[i+1];

      sse3_test_lddqu (p1, p2);

      ck[0] = p1[0];
      ck[1] = p1[1];

      fail += chk_pd (ck, p2);
    }

  if (fail != 0)
    abort ();
}