From 5377f9247172be409c3e92356eb6b435ad70c607 Mon Sep 17 00:00:00 2001 From: maya Date: Sun, 14 Apr 2019 19:25:27 +0000 Subject: [PATCH] Provide a definition of quiet NaN for RISC-V, and a reference to where it comes from. --- lib/libc/arch/riscv/gdtoa/gd_qnan.h | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/libc/arch/riscv/gdtoa/gd_qnan.h b/lib/libc/arch/riscv/gdtoa/gd_qnan.h index 8ced8a42d2ec..fb645c64102c 100644 --- a/lib/libc/arch/riscv/gdtoa/gd_qnan.h +++ b/lib/libc/arch/riscv/gdtoa/gd_qnan.h @@ -1,5 +1,19 @@ -/* $NetBSD: gd_qnan.h,v 1.1 2014/09/19 17:36:25 matt Exp $ */ +/* $NetBSD: gd_qnan.h,v 1.2 2019/04/14 19:25:27 maya Exp $ */ -#define f_QNAN 0x7fe00000 +/* + * The RISC-V Instruction Set Manual Volume I: User-Level ISA + * Document Version 2.2 + * + * 8.3 NaN Generation and Propagation + * + * The canonical NaN has a positive sign and all significand bits clear except + * the MSB, aka the quiet bit. + */ + +#define f_QNAN 0x7fc00000 #define d_QNAN0 0x0 -#define d_QNAN1 0x7ffc0000 +#define d_QNAN1 0x7ff80000 +#define ld_QNAN0 0x0 +#define ld_QNAN1 0x0 +#define ld_QNAN2 0x0 +#define ld_QNAN3 0x7fff8000