| /* { dg-do compile } */ |
| /* { dg-options "-O2 -msse2 -mtune=k8" } */ |
| |
| typedef short __v8hi __attribute__ ((__vector_size__ (16))); |
| typedef long long __m128i __attribute__ ((__vector_size__ (16))); |
| extern int memcmp (const void *, const void *, __SIZE_TYPE__); |
| |
| void sse2_test (void) |
| { |
| union |
| { |
| __m128i x; |
| } val1, res[8], tmp; |
| short ins[8] = { 8, 5, 9, 4, 2, 6, 1, 20 }; |
| int i; |
| |
| for (i = 0; i < 8; i++) |
| { |
| tmp.x = val1.x; |
| if (memcmp (&tmp, &res[i], sizeof (tmp))) |
| (__m128i) __builtin_ia32_vec_set_v8hi ((__v8hi) val1.x, ins[i], 0); |
| } |
| } |