resolve ToInt32 instruction count disagreement
authorJacob Lifshay <programmerjake@gmail.com>
Tue, 4 Apr 2023 01:19:03 +0000 (18:19 -0700)
committerJacob Lifshay <programmerjake@gmail.com>
Tue, 4 Apr 2023 01:19:03 +0000 (18:19 -0700)
openpower/sv.mdwn
openpower/sv/int_fp_mv.mdwn
openpower/sv/int_fp_mv/appendix.mdwn
openpower/sv/rfc/ls006.mdwn

index d214a54037cf437d9735afcc8afc90214930dedb..e4ecb0652a0bbbbbe3ef5421050732a83deb34dc 100644 (file)
@@ -225,9 +225,9 @@ 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) (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
+(which saves 32 scalar instructions including seven branch instructions).
+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.
 
 Vector-related but still Scalar:
index becbd7e5fa22f7e671ee7dba8b8edbaad5c38db7..f363debb5ffb3c1a9d5928fd50863d4fc625160c 100644 (file)
@@ -89,7 +89,6 @@ 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
 
index 57eaf9d706046fb5205c53de640c43802f8fa461..02a002e84f767fbd72bcaeadbd737f6868412ba3 100644 (file)
@@ -271,8 +271,6 @@ 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)
index 608fe69ffe9fc4701b3461c29d07a668a3a848c7..8cc92d775c7cc1d76825ad9bf354fe73ddbc6c95 100644 (file)
@@ -79,8 +79,8 @@ implements each variant.
 **Notes and Observations**:
 
 * These instructions are present in many other ISAs.
-* JavaScript rounding as one instruction saves 35 instructions including
-  six branches. (FIXME: disagrees with int_fp_mv and int_fp_mv/appendix)
+* JavaScript rounding as one instruction saves 32 scalar instructions
+  including seven branch instructions.
 * Both sets are orthogonal (no difference except being Single/Double).
   This allows IBM to follow the pre-existing precedent of allocating
   separate Major Opcodes (PO) for Double-precision and Single-precision