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 (); }
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 (); }
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 (); }
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 (); }
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 (); } }
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 (); }