blob: 5e55d7d57491a43b7956f10ff2b9813a6f02e6cd [file] [log] [blame]
/* APPLE LOCAL file 4278461 */
/* { dg-do run { target "i?86-*-darwin*" } } */
/* { dg-options "-O2 -fPIC -msse2" } */
/* Radar 4278461, GCC used a pic-base it neglected to set. */
#include <stdio.h>
#include <emmintrin.h>
double __attribute__ ((noinline))
xsqrt( double x )
{
__v2df f, g;
double _d;
x += x;
g = __extension__ (__v2df){ x, 0 };
f = _mm_sqrt_pd( g );
_d = _mm_cvtsd_f64 (f);
return (_d);
}
double global_x, global_y;
main ()
{
global_x = 100.0;
printf ("", &global_x, &global_y); /* Frighten the optimizer. */
global_y = xsqrt (global_x / 2.0); /* Compensate for the "x += x;" in xsqrt(). */
if (global_y != 10.0)
abort ();
exit (0);
}