From 8cac0ece48d57be4397e2ef3f124690391b7a6d5 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 30 May 2012 20:55:56 -0700 Subject: [PATCH] alpha: Add -mieee-with-inexact for fma compilation --- ChangeLog.alpha | 4 ++++ sysdeps/alpha/Makefile | 6 ++++++ sysdeps/alpha/fpu/libm-test-ulps | 14 -------------- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ChangeLog.alpha b/ChangeLog.alpha index 72e102ac8a..48f3b97056 100644 --- a/ChangeLog.alpha +++ b/ChangeLog.alpha @@ -1,5 +1,9 @@ 2012-05-30 Richard Henderson + * sysdeps/alpha/Makefile (CFLAGS-s_fma.c): Set -mieee-with-inexact. + (CFLAGS-s_fmaf.c): Likewise. + * sysdeps/alpha/fpu/libm-test-ulps: Regenerate. + * sysdeps/unix/sysv/linux/alpha/brk.S: Fix error path for PIC. * sysdeps/alpha/fpu/libm-test-ulps: Regenerate. diff --git a/sysdeps/alpha/Makefile b/sysdeps/alpha/Makefile index b08f69d997..17fd3b84d7 100644 --- a/sysdeps/alpha/Makefile +++ b/sysdeps/alpha/Makefile @@ -37,6 +37,12 @@ ifeq ($(subdir),elf) CFLAGS-rtld.c = -mbuild-constants endif +ifeq ($(subdir),math) +# The fma routines rely on inexact being raised for correct results. +CFLAGS-s_fma.c = -mieee-with-inexact +CFLAGS-s_fmaf.c = -mieee-with-inexact +endif + # Build everything with full IEEE math support, and with dynamic rounding; # there are a number of math routines that are defined to work with the # "current" rounding mode, and it's easiest to set this with all of them. diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index 39884260a8..908154c4e8 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -1615,20 +1615,6 @@ Test "expm1 (500.0) == 1.4035922178528374107397703328409120821806e+217": double: 1 idouble: 1 -# fma -Test "fma (-0x1.19cab66d73e17p-959, 0x1.c7108a8c5ff51p-107, -0x0.80b0ad65d9b64p-1022) == -0x0.80b0ad65d9d59p-1022": -double: 1 -idouble: 1 -Test "fma (0x1.0000002p+0, 0x1.ffffffcp-1, -0x1p-300) == 0x1.fffffffffffffp-1": -double: 1 -idouble: 1 -Test "fma (0x1.153d650bb9f06p-907, 0x1.2d01230d48407p-125, -0x0.b278d5acfc3cp-1022) == -0x0.b22757123bbe9p-1022": -double: 1 -idouble: 1 -Test "fma (0x1.4000004p-967, 0x1p-106, 0x0.000001p-1022) == 0x0.0000010000003p-1022": -double: 1 -idouble: 1 - # gamma Test "gamma (-0.5) == log(2*sqrt(pi))": ildouble: 1