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