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