From: lkcl Date: Thu, 31 Dec 2020 17:30:32 +0000 (+0000) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~681 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=494ad28807d5d77f1b501e68226cfac85b0954be;p=libreriscv.git --- diff --git a/openpower/sv/fcvt.mdwn b/openpower/sv/fcvt.mdwn new file mode 100644 index 000000000..249256330 --- /dev/null +++ b/openpower/sv/fcvt.mdwn @@ -0,0 +1,10 @@ +# SV FP Conversion + +OpenPOWER Scalar ISA requires that FP32 numbers be distributed throughout the bits of the underlying FP64 register such that at any time an FP64 opcode nay be used, without performing any kind of conversion, directly on that FP32 value. Likewise if precision is not important an FP32 opcode may be called on an FP64 value without conversion needed. + +Whilst this is fantastic in that it provides opportunities for speeding up FP64 operations it plays merry hell with SV compacted Vectors of FP32 and FP16 elements, when element width overrides come into play. + +To solve this, the FP values need to be compacted or expanded such that Vector operations do not waste space. The current thinking is that it nay be reasonable to overload `fmv` at different element widths (srcwid != destwid) to perform the necessary conversion, as opposed to just simply doing a straight bitcopy with truncation. + +see for discussion. +