(no commit message)
authorlkcl <lkcl@web>
Sat, 11 Jun 2022 18:38:14 +0000 (19:38 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 11 Jun 2022 18:38:14 +0000 (19:38 +0100)
openpower/sv/svp64_quirks.mdwn

index a9d4440f41c70cdd34cfa42549b845f16e664491..b6662c901f53ecfee12733e3a4f62b0eae4068e1 100644 (file)
@@ -475,10 +475,15 @@ FP Add "single").  Element-width overrides it would seem to
 be unnecessary, under these circunstances.
 
 However, it is not possible for `fadds` to fit two elements into
-64-bit: bear in mind that the FP32 bits are spread out across a 64
+64-bit: that breaks the simplicity of SVP64.
+Bear in mind that the FP32 bits are spread out across a 64
 bit register in FP64 format.  The solution here was to consider the
 "s" at the end of each instruction
 to mean "half of the element's width". Thus, `sv.fadds/ew=32`
 actually stores an FP16 spread out across the 32 bits of an
 element, in FP32 format, where `sv.fadd/ew=32` stores a full
 FP32 result into the full 32 bits.
+
+Where this breaks down is when attempting to do half-width on
+BF16 or FP16 operations: there does not exist a BF8 or an IEE754 FP8
+format, so these should be avoided.