blob: ab8451b591da14a6a1e555edd1b9a42cc8a6d87f [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-O2 -fno-strict-aliasing -msse2" } */
/* { dg-additional-options "-mno-mmx" { target { ! ia32 } } } */
#include "sse2-check.h"
__attribute__((noinline, noclone))
static void
test_set (int x, int y, long long *r)
{
*(__m64 *) r = _mm_set_pi32 (x, y);
}
/* Routine to manually compute the results */
static void
compute_correct_result (int x, int y, long long *res_p)
{
int *res = (int *) res_p;
res[0] = y;
res[1] = x;
}
static void
sse2_test (void)
{
int x, y;
long long r, ck;
/* Run the MMX tests */
x = 0x0badbeef;
y = 0x0badfeed;
test_set (x, y, &r);
compute_correct_result (x, y, &ck);
if (ck != r)
abort ();
}