(no commit message)
authorlkcl <lkcl@web>
Wed, 2 Jun 2021 23:00:57 +0000 (00:00 +0100)
committerIkiWiki <ikiwiki.info>
Wed, 2 Jun 2021 23:00:57 +0000 (00:00 +0100)
openpower/sv/int_fp_mv.mdwn

index 356b7329fddc1820554d64a7caa486e3e7723f71..871778013019aa6cb0ff8686eca4a66f1cbd00cb 100644 (file)
@@ -2,10 +2,31 @@
 
 Introduction:
 
-TODO
+OpenPOWER's existing scalar FP <-> INT conversion instructions
+are based on the assumption that VSX is available.  Thus, all
+conversions are from FPR to FPR, and assume that VSX operations
+will copy integer in and out of FPRs.
+
+When VSX is not implemented (Scalar FP Compliancy Level) this no
+longer holds, leaving the Scalar Compliancy Level lacking,
+with a power consumption penalty of having to use main memory
+for transfer of converted data between FPR and GPR.
+In a 3D GPU or in for example CODECs that rely on FP INT
+conversion this could be very significant.
+For SVP64 where there will be no VSX at all, Vectors of
+such conversions going via main memory would result in
+an even larger penalty.
+The bare minimum instructions required is to allow direct
+two-way bit-preserving transfers between FPR and GPR.
+With over 90% of transfers in 3D GPU Shader applications
+being conversions, a case can be made for including direct
+FP <-> INT conversion instructions rather than relying on
+macro-op fusion, which complicates the decoder phase.
 
 Links:
 
+* <https://bugs.libre-soc.org/show_bug.cgi?id=650>
 * <https://bugs.libre-soc.org/show_bug.cgi?id=230#c71>
 * <https://bugs.libre-soc.org/show_bug.cgi?id=230#c74>
 
@@ -17,10 +38,10 @@ TODO
 
 TODO
 
-# FP cvt targetting INTs
+# FP convert targetting INTs
 
 TODO
 
-# INT cvt targetting FP
+# INT convert targetting FP
 
 TODO