| /* APPLE LOCAL file 4099020 */ |
| /* { dg-do compile { target i?86-*-* } } */ |
| /* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */ |
| /* { dg-options "-O2 -msse2 -march=pentium4" } */ |
| /* { dg-final { scan-assembler-times "movq\[^\\n\]*" 3} } */ |
| |
| /* Verify that we generate proper instruction with memory operand. */ |
| |
| #include <emmintrin.h> |
| |
| __m128i |
| t1(__m128i *p) |
| { |
| return _mm_loadl_epi64(p); /* 64-bit, zero-extended result in %xmm. */ |
| } |
| void |
| t2(__m128i *p, __m128i a) |
| { |
| _mm_storel_epi64(p, a); /* 64-bit store from %xmm. */ |
| } |
| __m128i |
| t3(__m128i a) |
| { |
| return _mm_move_epi64(a); /* 64-bit move between %xmm registers. */ |
| } |