From a8833dac02bc7efdc8ce59d15d721b5e01ba58ea Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Wed, 18 Feb 2026 16:17:21 -0800 Subject: [PATCH] add 96-bit float type to RDI --- src/lib_rdi/rdi.c | 2 ++ src/lib_rdi/rdi.h | 12 +++++++----- src/rdi/rdi.mdesk | 11 ++++++----- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/lib_rdi/rdi.c b/src/lib_rdi/rdi.c index ee71d957..0e9f5352 100644 --- a/src/lib_rdi/rdi.c +++ b/src/lib_rdi/rdi.c @@ -193,6 +193,7 @@ case RDI_TypeKind_F32PP: {result = (RDI_U8*)"F32PP"; *size_out = sizeof("F32PP") case RDI_TypeKind_F48: {result = (RDI_U8*)"F48"; *size_out = sizeof("F48")-1;}break; case RDI_TypeKind_F64: {result = (RDI_U8*)"F64"; *size_out = sizeof("F64")-1;}break; case RDI_TypeKind_F80: {result = (RDI_U8*)"F80"; *size_out = sizeof("F80")-1;}break; +case RDI_TypeKind_F96: {result = (RDI_U8*)"F96"; *size_out = sizeof("F96")-1;}break; case RDI_TypeKind_F128: {result = (RDI_U8*)"F128"; *size_out = sizeof("F128")-1;}break; case RDI_TypeKind_ComplexF32: {result = (RDI_U8*)"ComplexF32"; *size_out = sizeof("ComplexF32")-1;}break; case RDI_TypeKind_ComplexF64: {result = (RDI_U8*)"ComplexF64"; *size_out = sizeof("ComplexF64")-1;}break; @@ -258,6 +259,7 @@ case RDI_TypeKind_F32PP:{result = 4;}break; case RDI_TypeKind_F48:{result = 6;}break; case RDI_TypeKind_F64:{result = 8;}break; case RDI_TypeKind_F80:{result = 10;}break; +case RDI_TypeKind_F96:{result = 12;}break; case RDI_TypeKind_F128:{result = 16;}break; case RDI_TypeKind_ComplexF32:{result = 8;}break; case RDI_TypeKind_ComplexF64:{result = 16;}break; diff --git a/src/lib_rdi/rdi.h b/src/lib_rdi/rdi.h index 2fba3f42..dd91bbd6 100644 --- a/src/lib_rdi/rdi.h +++ b/src/lib_rdi/rdi.h @@ -304,11 +304,12 @@ RDI_TypeKind_F32PP = 0x001B, RDI_TypeKind_F48 = 0x001C, RDI_TypeKind_F64 = 0x001D, RDI_TypeKind_F80 = 0x001E, -RDI_TypeKind_F128 = 0x001F, -RDI_TypeKind_ComplexF32 = 0x0020, -RDI_TypeKind_ComplexF64 = 0x0021, -RDI_TypeKind_ComplexF80 = 0x0022, -RDI_TypeKind_ComplexF128 = 0x0023, +RDI_TypeKind_F96 = 0x001F, +RDI_TypeKind_F128 = 0x0020, +RDI_TypeKind_ComplexF32 = 0x0021, +RDI_TypeKind_ComplexF64 = 0x0022, +RDI_TypeKind_ComplexF80 = 0x0023, +RDI_TypeKind_ComplexF128 = 0x0024, RDI_TypeKind_Modifier = 0x1000, RDI_TypeKind_Ptr = 0x1001, RDI_TypeKind_LRef = 0x1002, @@ -775,6 +776,7 @@ X(F32PP)\ X(F48)\ X(F64)\ X(F80)\ +X(F96)\ X(F128)\ X(ComplexF32)\ X(ComplexF64)\ diff --git a/src/rdi/rdi.mdesk b/src/rdi/rdi.mdesk index fb0cf030..6a07dab5 100644 --- a/src/rdi/rdi.mdesk +++ b/src/rdi/rdi.mdesk @@ -711,11 +711,12 @@ RDI_TypeKindTable: {F48 0x001C 6 } {F64 0x001D 8 } {F80 0x001E 10 } - {F128 0x001F 16 } - {ComplexF32 0x0020 8 } - {ComplexF64 0x0021 16 } - {ComplexF80 0x0022 20 } - {ComplexF128 0x0023 32 LastBuiltIn } + {F96 0x001F 12 } + {F128 0x0020 16 } + {ComplexF32 0x0021 8 } + {ComplexF64 0x0022 16 } + {ComplexF80 0x0023 20 } + {ComplexF128 0x0024 32 LastBuiltIn } //- {Modifier 0x1000 0 FirstConstructed } {Ptr 0x1001 0 }