summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr23575.c
blob: 522226ef7a2e15319dc2f5cec676f55345680ec4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* { dg-do compile } */
/* { dg-options "-msse2 -O2" } */

/* We used to ICE because of a bogous pattern.  */

typedef double __v2df __attribute__ ((__vector_size__ (16)));
typedef __v2df __m128d;
static __inline __m128d __attribute__((__always_inline__)) _mm_set1_pd (double __F) {
  return __extension__ (__m128d){__F, __F};
}
static __inline __m128d __attribute__((__always_inline__)) _mm_move_sd (__m128d __A, __m128d __B) {
  return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
}
void g(__m128d b);
__m128d cross(__m128d tmp9)
{
  __m128d t1 = _mm_set1_pd(1.0);
  __m128d tmp10 = _mm_move_sd(t1, tmp9);
  return tmp10;
}