aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/i386/merge-1.c
blob: d52568510965678bf4bf09d2aa47519a76def9b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do compile } */
/* { dg-options "-O1 -msse2" } */

#include <x86intrin.h>

void
f (double *r, __m128d x, __m128d y, __m128d z)
{
  __m128d t=_mm_move_sd(x,y);
  __m128d u=_mm_move_sd(t,z);
  *r = u[0];
}

__m128d
g(__m128d x, __m128d y, __m128d z)
{
  __m128d t=_mm_move_sd(x,y);
  __m128d u=_mm_move_sd(t,z);
  return u;
}

/* { dg-final { scan-assembler-times "movsd" 1 } } */