diff options
author | Keith Packard <keithp@keithp.com> | 2023-11-10 16:41:19 -0700 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2023-11-10 16:47:22 -0700 |
commit | e0c1476d5d7c450b1b16a40364cea4e91237ea93 (patch) | |
tree | c40f92bbbf2880981a097d185c574d7f94cba35e /gcc | |
parent | b42dd1379048fd9cc7eb7039b9dfee02d6884df7 (diff) | |
download | gcc-e0c1476d5d7c450b1b16a40364cea4e91237ea93.zip gcc-e0c1476d5d7c450b1b16a40364cea4e91237ea93.tar.gz gcc-e0c1476d5d7c450b1b16a40364cea4e91237ea93.tar.bz2 |
[PATCH] libgcc/m68k: Fixes for soft float
Check for non-zero denorm in __adddf3. Need to check both the upper and
lower 32-bit chunks of a 64-bit float for a non-zero value when
checking to see if the value is -0.
Fix __addsf3 when the sum exponent is exactly 0xff to ensure that
produces infinity and not nan.
Handle converting NaN/inf values between formats.
Handle underflow and overflow when truncating.
Write a replacement for __fixxfsi so that it does not raise extra
exceptions during an extra conversion from long double to double.
libgcc/
* config/m68k/lb1sf68.S (__adddf3): Properly check for non-zero denorm.
(__divdf3): Restore sign bit properly.
(__addsf3): Correct exponent check.
* config/m68k/fpgnulib.c (EXPMASK): Define.
(__extendsfdf2): Handle Inf and NaN properly.
(__truncdfsf2): Handle underflow and overflow correctly.
(__extenddfxf2): Handle underflow, denorms, Inf and NaN correctly.
(__truncxfdf2): Handle underflow and denorms correctly.
(__fixxfsi): Reimplement.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions