1  /* { dg-do compile } */
       2  /* { dg-options "-O1 -msse2 -mno-sse4" } */
       3  
       4  #include <x86intrin.h>
       5  
       6  void
       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
      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 } } */