diff options
Diffstat (limited to 'lib/libm/arch')
-rw-r--r-- | lib/libm/arch/hppa/e_sqrt.c | 16 | ||||
-rw-r--r-- | lib/libm/arch/hppa/e_sqrtf.c | 16 |
2 files changed, 32 insertions, 0 deletions
diff --git a/lib/libm/arch/hppa/e_sqrt.c b/lib/libm/arch/hppa/e_sqrt.c new file mode 100644 index 00000000000..1345f287269 --- /dev/null +++ b/lib/libm/arch/hppa/e_sqrt.c @@ -0,0 +1,16 @@ +/* + * Written by Michael Shalayeff. Public Domain + */ + +#if defined(LIBM_SCCS) && !defined(lint) +static char rcsid[] = "$OpenBSD: e_sqrt.c,v 1.1 2002/05/22 20:55:56 mickey Exp $"; +#endif + +#include "math.h" + +double +__ieee754_sqrt(double x) +{ + __asm__ __volatile__ ("fsqrt,dbl %0, %0" : "+f" (x)); + return (x); +} diff --git a/lib/libm/arch/hppa/e_sqrtf.c b/lib/libm/arch/hppa/e_sqrtf.c new file mode 100644 index 00000000000..81ba8ba38f4 --- /dev/null +++ b/lib/libm/arch/hppa/e_sqrtf.c @@ -0,0 +1,16 @@ +/* + * Written by Michael Shalayeff. Public Domain + */ + +#if defined(LIBM_SCCS) && !defined(lint) +static char rcsid[] = "$OpenBSD: e_sqrtf.c,v 1.1 2002/05/22 20:55:56 mickey Exp $"; +#endif + +#include "math.h" + +float +__ieee754_sqrtf(float x) +{ + __asm__ __volatile__ ("fsqrt,sgl %0, %0" : "+f" (x)); + return (x); +} |