1 /* { dg-do compile } */
2 /* { dg-options "-O1 -msse2" } */
3
4 #include <x86intrin.h>
5
6 void
f(double * r,__m128d x,__m128d y,__m128d z)7 f (double *r, __m128d x, __m128d y, __m128d z)
8 {
9 __m128d t=_mm_move_sd(x,y);
10 __m128d u=_mm_move_sd(t,z);
11 *r = u[0];
12 }
13
14 __m128d
g(__m128d x,__m128d y,__m128d z)15 g(__m128d x, __m128d y, __m128d z)
16 {
17 __m128d t=_mm_move_sd(x,y);
18 __m128d u=_mm_move_sd(t,z);
19 return u;
20 }
21
22 /* { dg-final { scan-assembler-times "movsd" 1 } } */
23