minor priority/wording change on ls006.fpintmv
[libreriscv.git] / openpower / sv / int_fp_mv / cvt_fp_to_int_overview.mdwn
index 3187d5322cf6ea0a7ec480a552a1dae693f1aac0..30c7f5102d2c33e42574f39051796497b83a7e5d 100644 (file)
@@ -2,7 +2,7 @@
 
 <div id="fpr-to-gpr-conversion-mode"></div>
 
-IEEE 754 doesn't specify what results are obtained when converting a NaN
+IEEE 754 does not specify what results are obtained when converting a NaN
 or out-of-range floating-point value to integer, so different programming
 languages and ISAs have made different choices.  The different conversion
 modes supported by the `cffpr` instruction are as follows:
@@ -12,9 +12,7 @@ modes supported by the `cffpr` instruction are as follows:
     as well as commonly used floating-point to integer conversions on x86.
 
 * S-Type: <div id="fpr-to-gpr-conversion-s-type"></div>
-    Used for WebAssembly's `trunc_sat_u`[^trunc_sat_u] and
-    `trunc_sat_s`[^trunc_sat_s] instructions, as well as several notable
-    programming languages:
+    Used for several notable programming languages:
 
     * Java's conversion from `float`/`double` to `long`/`int`[^java_fp_to_int]
     * Rust's `as` operator[^rust_as_operator]
@@ -23,6 +21,9 @@ modes supported by the `cffpr` instruction are as follows:
     * SPIR-V's OpenCL dialect's `OpConvertFToU`[^SPIRV_OpConvertFToU] and
         `OpConvertFToS`[^SPIRV_OpConvertFToS] instructions when decorated with
         the `SaturatedConversion`[^SPIRV_SaturatedConversion] decorator.
+    * Also WebAssembly's `trunc_sat_u`[^trunc_sat_u] and
+        `trunc_sat_s`[^trunc_sat_s] instructions,
+
 
 * E-Type: <div id="fpr-to-gpr-conversion-e-type"></div>
     Used for ECMAScript's `ToInt32` abstract operation[^ECMAScript_ToInt32].
@@ -53,26 +54,26 @@ modes supported by the `cffpr` instruction are as follows:
 
 ### Floating-point to Integer Conversion Semantics Summary
 
-Let `rounded` be the result of `bfp_ROUND_TO_INTEGER(rmode, input)`.
+Let `round` be the result of `bfp_ROUND_TO_INTEGER(rmode, input)`.
 Let `w` be the number of bits in the result's type.
 The result of Floating-point to Integer conversion is as follows:
 
 ```
-+--------+------------+-----------------------------------------------------------------------+
-| Type   | Result's   | Category of rounded                                                   |
-|        | Signedness +-----------+-----------+-----------+-----------+-----------+-----------+
-|        |            | NaN       | +Infinity | -Infinity | > Maximum | < Minimum | Otherwise |
-|        |            |           |           |           | Possible  | Possible  |           |
-|        |            |           |           |           | Result    | Result    |           |
-+--------+------------+-----------+-----------+-----------+-----------+-----------+-----------+
-| P-Type | Unsigned   | 0         | 2^w - 1   | 0         | 2^w - 1   | 0         | rounded   |
-|        +------------+-----------+-----------+-----------+-----------+-----------+-----------+
-|        | Signed     | -2^(w-1)  | 2^(w-1)-1 | -2^(w-1)  | 2^(w-1)-1 | -2^(w-1)  | rounded   |
-+--------+------------+-----------+-----------+-----------+-----------+-----------+-----------+
-| S-Type | Unsigned   | 0         | 2^w - 1   | 0         | 2^w - 1   | 0         | rounded   |
-|        +------------+-----------+-----------+-----------+-----------+-----------+-----------+
-|        | Signed     | 0         | 2^(w-1)-1 | -2^(w-1)  | 2^(w-1)-1 | -2^(w-1)  | rounded   |
-+--------+------------+-----------+-----------+-----------+-----------+-----------+-----------+
-| E-Type | Either     | 0                                 | rounded & (2^w - 1)               |
-+--------+------------+-----------------------------------+-----------------------------------+
++------+------+---------------------------------------------------------------+
+|Type| Result | Category of rounding                                          |
+|    | Sign   +----------+-----------+----------+-----------+---------+-------+
+|    |        | NaN      | +Inf      | -Inf     | > Max     | < Min   | Else  |
+|    |        |          |           |          | Possible  | Possible|       |
+|    |        |          |           |          | Result    | Result  |       |
++----+--------+----------+-----------+----------+-----------+---------+-------+
+|  P |Unsigned| 0        | 2^w - 1   | 0        | 2^w - 1   | 0       | round |
+|    +--------+----------+-----------+----------+-----------+---------+-------+
+|    | Signed | -2^(w-1) | 2^(w-1)-1 | -2^(w-1) | 2^(w-1)-1 | -2^(w-1)| round |
++----+--------+----------+-----------+----------+-----------+---------+-------+
+|  S |Unsigned| 0        | 2^w - 1   | 0        | 2^w - 1   | 0       | round |
+|    +--------+----------+-----------+----------+-----------+---------+-------+
+|    | Signed | 0        | 2^(w-1)-1 | -2^(w-1) | 2^(w-1)-1 | -2^(w-1)| round |
++----+--------+----------+-----------+----------+-----------+---------+-------+
+|  E | Either | 0                               | round & (2^w - 1)           |
++----+--------+---------------------------------+-----------------------------+
 ```