glibc/soft-fp
Joseph Myers 61f006c12d soft-fp: Refine FP_EX_DENORM handling for comparisons.
In <https://sourceware.org/ml/libc-alpha/2014-09/msg00488.html>, I
noted that comparisons in soft-fp did not set FP_EX_DENORM unless
denormal operands were flushed to zero.

This patch fixes soft-fp to check for denormal operands for
comparisons and set that exception whenever FP_EX_DENORM is not zero.
In particular, for the one architecture for which the Linux kernel
defines FP_EX_DENORM (alpha), this corresponds to the existing logic
for comparisons and so allows that logic to be replaced by a simple
call to FP_CMP_D when soft-fp is updated in the kernel.

Tested for powerpc (e500) that installed stripped shared libraries are
unchanged by this patch.

	* soft-fp/op-common.h (_FP_CMP_CHECK_DENORM): New macro.
	(_FP_CMP_CHECK_FLUSH_ZERO): Likewise.
	(_FP_CMP): Use_FP_CMP_CHECK_DENORM and _FP_CMP_CHECK_FLUSH_ZERO.
	(_FP_CMP_EQ): Likewise.
	(_FP_CMP_UNORD): Use _FP_CMP_CHECK_DENORM.
2015-02-06 15:41:49 +00:00
..
adddf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
addsf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
addtf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Banner Update. 1999-12-29 18:11:48 +00:00
divdf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
divsf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
divtf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
double.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
eqdf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
eqsf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
eqtf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
extenddftf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
extended.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
extendsfdf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
extendsftf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
extendxftf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixdfdi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixdfsi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixdfti.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixsfdi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixsfsi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixsfti.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixtfdi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixtfsi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixtfti.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunsdfdi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunsdfsi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunsdfti.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunssfdi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunssfsi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunssfti.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunstfdi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunstfsi.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fixunstfti.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatdidf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatdisf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatditf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatsidf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatsisf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatsitf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floattidf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floattisf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floattitf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatundidf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatundisf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatunditf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatunsidf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatunsisf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatunsitf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatuntidf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatuntisf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
floatuntitf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fmadf4.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fmasf4.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fmatf4.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
gedf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
gesf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ledf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
lesf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
letf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
muldf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
mulsf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
multf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
negdf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
negsf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
negtf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
op-1.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
op-2.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
op-4.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
op-8.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
op-common.h soft-fp: Refine FP_EX_DENORM handling for comparisons. 2015-02-06 15:41:49 +00:00
quad.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
single.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
soft-fp.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sqrtdf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sqrtsf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sqrttf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
subdf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
subsf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
subtf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
testit.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
truncdfsf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
trunctfdf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
trunctfsf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
trunctfxf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unorddf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unordsf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unordtf2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00