From 8cb899932e3d97e9a40ef8d46c4ef9e16f713979 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Thu, 3 Jun 2021 10:19:15 +0100 Subject: [PATCH] mention float-load-immediate in intro --- openpower/sv/int_fp_mv.mdwn | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/openpower/sv/int_fp_mv.mdwn b/openpower/sv/int_fp_mv.mdwn index 3368c4cd7..7ed341e35 100644 --- a/openpower/sv/int_fp_mv.mdwn +++ b/openpower/sv/int_fp_mv.mdwn @@ -4,10 +4,16 @@ Introduction: High-performance CPU/GPU software needs to often convert between integers and floating-point, therefore fast conversion/data-movement instructions -are needed. Because Libre-SOC is not implementing VMX/VSX and the +are needed. Also given that initialisation of floats tends to take up +considerable space (even to just load 0.0) the inclusion of float immediate +is up for consideration. + +Libre-SOC will be compliant with the +**Scalar Floating-Point Subset** (SFFS) i.e. is not implementing VMX/VSX. +With VMX/VSX not available in the SFFS Compliancy Level, the existing non-VSX conversion/data-movement instructions require load/store instructions (slow and expensive) to transfer data between the FPRs and -the GPRs, and because SimpleV needs efficient scalar instructions in +the GPRs. Also, because SimpleV needs efficient scalar instructions in order to generate efficient vector instructions, adding new instructions for data-transfer/conversion between FPRs and GPRs seems necessary. @@ -49,7 +55,6 @@ Semantics required by all of: [`OpConvertFToS`](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#OpConvertFToS) instructions when decorated with [the `SaturatedConversion` decorator](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_decoration_a_decoration). - * JavaScript FP -> Integer conversion -- modular with Inf/NaN converted to 0 Semantics required by JavaScript -- 2.30.2