diff options
Diffstat (limited to 'src/f-st-ext.adoc')
-rw-r--r-- | src/f-st-ext.adoc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/f-st-ext.adoc b/src/f-st-ext.adoc index 6d31c9b..0782edf 100644 --- a/src/f-st-ext.adoc +++ b/src/f-st-ext.adoc @@ -1,11 +1,12 @@ +:stem: latexmath + [[single-float]] == F Standard Extension for Single-Precision Floating-Point, Version 2.2 This chapter describes the standard instruction-set extension for single-precision floating-point, which is named "F" and adds single-precision floating-point computational instructions compliant -with the IEEE 754-2008 arithmetic standard cite:[ieee754-2008]. The F extension depends on -the "Zicsr" extension for control and status register access. +with the IEEE 754-2008 arithmetic standard cite:[ieee754-2008]. The F extension depends on the "Zicsr" extension for control and status register access. === F Register State @@ -18,8 +19,7 @@ the floating-point registers in the RISC-V ISA, and FLEN=32 for the F single-precision floating-point extension. Most floating-point instructions operate on values in the floating-point register file. Floating-point load and store instructions transfer floating-point -values between registers and memory. Instructions to transfer values to -and from the integer register file are also provided. +values between registers and memory. Instructions to transfer values to and from the integer register file are also provided. [TIP] ==== @@ -289,9 +289,11 @@ include::images/wavedrom/spfloat.adoc[] Floating-point fused multiply-add instructions require a new standard instruction format. R4-type instructions specify three source registers (_rs1_, _rs2_, and _rs3_) and a destination register (_rd_). This format is only used by the floating-point fused multiply-add instructions. +latexmath:[C = \alpha + \beta Y^{\gamma} + \epsilon] + FMADD.S multiplies the values in _rs1_ and _rs2_, adds the value in _rs3_, and writes the final result to _rd_. FMADD.S computes -_(rs1'x'rs2)+rs3_. +_(rs1 latexmath:[$\times$] rs2)+rs3_. FMSUB.S multiplies the values in _rs1_ and _rs2_, subtracts the value in _rs3_, and writes the final result to _rd_. FMSUB.S computes _(rs1'x'rs2)-rs3_. |