1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O -fno-math-errno" } */
3 
4 typedef double __m128d __attribute__((vector_size(16)));
vsqrt1(__m128d const x)5 __m128d vsqrt1 (__m128d const x)
6 {
7   double const* __restrict__ const y = (double const*)&x;
8   double const a = __builtin_sqrt(y[0]);
9   double const b = __builtin_sqrt(y[1]);
10   return (__m128d) { a, b };
11 }
12 
13 /* Verify we do not spill x to the stack.  */
14 /* { dg-final { scan-assembler-not "%rsp" } } */
15