From ef12e4a02c9c7908fad914230b3e364c527d0857 Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Wed, 22 Mar 2023 15:13:24 -0700 Subject: [PATCH] add fixmes for disagreement in the cost of JavaScript ToInt32 without fcvttgw --- openpower/sv.mdwn | 2 +- openpower/sv/int_fp_mv.mdwn | 1 + openpower/sv/int_fp_mv/appendix.mdwn | 2 ++ openpower/sv/rfc/ls006.mdwn | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) 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** -- 2.30.2