2 /* { dg-options "-O2 -msse2" } */
3 /* { dg-require-effective-target sse2 } */
6 #define CHECK_H "sse2-check.h"
10 #define TEST sse2_test
15 #include <emmintrin.h>
18 __attribute__((noinline
, unused
))
19 test (__m128i s1
, __m128i s2
)
21 return _mm_madd_epi16 (s1
, s2
);
32 s1
.x
= _mm_set_epi16 (2134,3343,1234,6354, 1, 3, 4, 5);
33 s2
.x
= _mm_set_epi16 (41124,234,2344,2354,9, -1, -8, -10);
34 u
.x
= test (s1
.x
, s2
.x
);
36 for (i
= 0; i
< 4; i
++)
37 e
[i
] = (s1
.a
[i
*2] * s2
.a
[i
*2])+(s1
.a
[(i
*2) + 1] * s2
.a
[(i
*2) + 1]);
39 if (check_union128i_d (u
, e
))