コード例 #1
0
ファイル: avx2-vpsllvq128-2.c プロジェクト: 0day-ci/gcc
void static
avx2_test (void)
{
  union128i_q s1, s2, res;
  long long int res_ref[2];
  int i, j, sign = 2;
  int fail = 0;

  for (i = 0; i < 10; i++)
    {
      for (j = 0; j < 2; j++)
	{
	  s1.a[j] = j * i * sign;
	  s2.a[j] = (j + i) >> 2;
	  sign = -sign;
	}

      res.x = _mm_sllv_epi64 (s1.x, s2.x);

      compute_psllvq128 (s1.a, s2.a, res_ref);

      fail += check_union128i_q (res, res_ref);
    }

  if (fail != 0)
    abort ();
}
コード例 #2
0
static void
TEST (void)
{
  union128i_q u;
  long long b = 4294967295133LL;
  long long e[2] = {0};

  u.x = test (b);

  e[0] = b;

  if (check_union128i_q (u, e))
    abort ();
}
コード例 #3
0
static void
TEST (void)
{
    union128i_q u, s1, s2;
    long long  e[2];

    s1.x = _mm_set_epi64x (10,-40);
    s2.x = _mm_set_epi64x (1134, -7839);
    u.x = test (s1.x, s2.x);

    e[0] = s1.a[1];
    e[1] = s2.a[1];

    if (check_union128i_q (u, e))
        abort ();
}
コード例 #4
0
static void
TEST (void)
{
  union128i_q u, s1, s2;
  long long e[2];
  int i;
   
  s1.x = _mm_set_epi64x (90,-80);
  s2.x = _mm_set_epi64x (76, -100);
  u.x = test (s1.x, s2.x); 
   
  for (i = 0; i < 2; i++)
     e[i] = s1.a[i] - s2.a[i];

  if (check_union128i_q (u, e))
    abort ();
}
コード例 #5
0
ファイル: avx2-vpbroadcastq128-2.c プロジェクト: 0day-ci/gcc
static void
avx2_test (void)
{
  union128i_q src, dst;
  long long int dst_ref[2];
  int i;

  for (i = 0; i < NUM; i++)
    {
      init_pbroadcastq128 (src.a, i);

      dst.x = _mm_broadcastq_epi64 (src.x);
      calc_pbroadcastq128 (src.a, dst_ref);

      if (check_union128i_q (dst, dst_ref))
	abort ();
    }
}
コード例 #6
0
ファイル: sse2-psrlq-1.c プロジェクト: 0day-ci/gcc
static void
TEST (void)
{
  union128i_q u, s;
  long long e[2] = {0};
  unsigned long long tmp;
  int i;
 
  s.x = _mm_set_epi64x (-1, 0xf);

  u.x = test (s.x);

  if (N < 64)
    for (i = 0; i < 2; i++) {
      tmp = s.a[i]; 
      e[i] = tmp >> N;
    }

  if (check_union128i_q (u, e))
    abort (); 
}