From: Jacob Lifshay Date: Wed, 22 Mar 2023 22:13:24 +0000 (-0700) Subject: add fixmes for disagreement in the cost of JavaScript ToInt32 without fcvttgw X-Git-Tag: opf_rfc_ls001_v3~98 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ef12e4a02c9c7908fad914230b3e364c527d0857;p=libreriscv.git add fixmes for disagreement in the cost of JavaScript ToInt32 without fcvttgw --- diff --git a/openpower/sv.mdwn b/openpower/sv.mdwn index 1e9749ec0..d9b5b45b9 100644 --- a/openpower/sv.mdwn +++ b/openpower/sv.mdwn @@ -223,7 +223,7 @@ Scalable Vector binaries more efficient, such as the crweird group. Others are to bring the Scalar Power ISA up-to-date within specific workloads, such as a JavaScript Rounding instruction -(which saves 35 instructions including 5 branches). None of them are strictly +(which saves 35 instructions including 5 branches) (FIXME: disagrees with int_fp_mv and int_fp_mv/appendix). None of them are strictly necessary but performance and power consumption may be (or, is already) compromised in certain workloads and use-cases without them. diff --git a/openpower/sv/int_fp_mv.mdwn b/openpower/sv/int_fp_mv.mdwn index 114ad9e34..4e8f40bd9 100644 --- a/openpower/sv/int_fp_mv.mdwn +++ b/openpower/sv/int_fp_mv.mdwn @@ -89,6 +89,7 @@ well-suited for common/important conversion sequences: The assembly listings in the [[int_fp_mv/appendix]] show how costly some of these language-specific conversions are: JavaScript, the worst case, is 32 scalar instructions including seven branch instructions. +(FIXME: disagrees with ls006 and sv.mdwn) # Proposed New Scalar Instructions diff --git a/openpower/sv/int_fp_mv/appendix.mdwn b/openpower/sv/int_fp_mv/appendix.mdwn index 02a002e84..57eaf9d70 100644 --- a/openpower/sv/int_fp_mv/appendix.mdwn +++ b/openpower/sv/int_fp_mv/appendix.mdwn @@ -271,6 +271,8 @@ inline Target bitwise_cast(Src v) { ### 64-bit float -> 32-bit signed integer +(FIXME: disagrees with ls006 and sv.mdwn) + ``` toInt32(double): stfd 1,-16(1) diff --git a/openpower/sv/rfc/ls006.mdwn b/openpower/sv/rfc/ls006.mdwn index f92515079..4bc744b0d 100644 --- a/openpower/sv/rfc/ls006.mdwn +++ b/openpower/sv/rfc/ls006.mdwn @@ -72,7 +72,7 @@ implements each variant. * These instructions are present in many other ISAs. * JavaScript rounding as one instruction saves 35 instructions including - six branches. + six branches. (FIXME: disagrees with int_fp_mv and int_fp_mv/appendix) **Changes**