diff options
author | H. Peter Anvin <hpa@zytor.com> | 2018-11-26 14:59:35 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2018-11-26 14:59:35 -0800 |
commit | 8fa279954c41f73eb7fd8fe3e0bf4a2546916193 (patch) | |
tree | 67aeb12948d2896b80c538c130c8062bf612517e | |
parent | 88959910d8cc89f922f7ae1b6f82eff1db3c0b19 (diff) | |
download | nasm-8fa279954c41f73eb7fd8fe3e0bf4a2546916193.tar.gz |
Correctly document the BR 3392368 fix, add test case
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | doc/changes.src | 7 | ||||
-rw-r--r-- | test/floatb.asm | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/doc/changes.src b/doc/changes.src index c2d3c7d9..a3bd0cc5 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -21,9 +21,10 @@ operator refers to an \c{EXTERN} symbol declared further down in the code. \b Fix a corner case in the floating-point code where a -binary/octal/hexadecimal floating-point constant starting with the -digit 1 and having at least 33 mantissa bits would sometimes produce -incorrect results. +binary/octal/hexadecimal floating-point constant starting with a digit +for which the upper bit is 1 (1, 4-7, 8-F respectively) and having at +least 33 mantissa bits would sometimes produce incorrect results for +the quad-precision format. \S{cl-2.14} Version 2.14 diff --git a/test/floatb.asm b/test/floatb.asm index dc0422e0..a4235d08 100644 --- a/test/floatb.asm +++ b/test/floatb.asm @@ -5,10 +5,10 @@ ;; encoding... bits 64 - + dd 1.1e10 dd 0x5023e9ac ; Should be... - + dd 50.40e9 dd 0x513bc130 ; Should be... @@ -21,11 +21,17 @@ dt 1.2e28 dq 0x9b18ab5df7180b6c dw 0x405c - + dt 50.46e25 dq 0xd0b29a67e95dcb60 dw 0x4057 + do 0xf.ffffff8 + dt 0xf.ffffff8 + dq 0xf.ffffff8 + dd 0xf.ffffff8 + dw 0xf.ffffff8 + ;; Way too big numbers, should overflow to +Inf dd 1.0E646456955 dd 1.0E646456956 |