From: lkcl Date: Wed, 11 Sep 2019 16:46:04 +0000 (+0100) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~4103 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6687ac7d06e4276cf254cc0bc535c5343399529;p=libreriscv.git --- diff --git a/ztrans_proposal.mdwn b/ztrans_proposal.mdwn index 7a6b03803..d9c20b2d3 100644 --- a/ztrans_proposal.mdwn +++ b/ztrans_proposal.mdwn @@ -489,7 +489,9 @@ for certain algorithms may be too costly. These wildly differing and incompatible driving factors lead to the subset subdivisions, below. -## Zftrans +## Transcendental Subsets + +### Zftrans LOG2 EXP2 RECIP RSQRT @@ -499,7 +501,7 @@ exp1m, log1p, the hyperbolic trigonometric functions sinh and so on. They are therefore considered "base" (essential) transcendentals. -## ZftransExt +### ZftransExt LOG, EXP, EXP10, LOG10, LOGP1, EXP1M @@ -519,7 +521,32 @@ performance and accuracy. Therefore they are their own subset extension. -## Ztrigpi vs Ztrignpi +### Zfhyp + +These are the hyperbolic/inverse-hyperbolic finctions: SINH, COSH, TANH, +ASINH, ACOSH, ATANH. Their use in 3D is limited. + +They can all be synthesised using LOG, SQRT and so on, so depend +on Zftrans. However, once again, at the limits of the range, IEEE754 +compliance becomes impossible, and thus a hardware implementation may +be required. + +HPC and high-end GPUs are likely markets for these. + +## ZftransAdv + +CBRT, POW, ROOT (inverse of POW): these are simply much more complex +to implement in hardware, and typically will only be put into HPC +applications. + +ROOT is included as well as POW because at the extreme ranges one is +more accurate than the other. + +* **Zfrsqrt**: Reciprocal square-root. + +## Trigonometric subsets + +### Ztrigpi vs Ztrignpi * **Ztrigpi**: SINPI COSPI TANPI * **Ztrignpi**: SIN COS TAN @@ -542,7 +569,7 @@ the hardware algorithm as a loop invariant, with no power or area penalty. Thus again, the same general argument applies to give Ztrignpi and Ztrigpi as subsets. -## Zarctrigpi and Zarctrignpi +### Zarctrigpi and Zarctrignpi * **Zarctrigpi**: ATAN2PI ASINPI ACOSPI * **Zarctrignpi**: ATAN2 ACOS ADIN @@ -557,29 +584,6 @@ is acceptable for 3D. Therefore they are their own subset extensions. -## Zfhyp - -These are the hyperbolic/inverse-hyperbolic finctions: SINH, COSH, TANH, -ASINH, ACOSH, ATANH. Their use in 3D is limited. - -They can all be synthesised using LOG, SQRT and so on, so depend -on Zftrans. However, once again, at the limits of the range, IEEE754 -compliance becomes impossible, and thus a hardware implementation may -be required. - -HPC and high-end GPUs are likely markets for these. - -## ZftransAdv - -CBRT, POW, ROOT (inverse of POW): these are simply much more complex -to implement in hardware, and typically will only be put into HPC -applications. - -ROOT is included as well as POW because at the extreme ranges one is -more accurate than the other. - -* **Zfrsqrt**: Reciprocal square-root. - # Synthesis, Pseudo-code ops and macro-ops The pseudo-ops are best left up to the compiler rather than being actual