From: Luke Kenneth Casson Leighton Date: Thu, 7 Jul 2022 11:04:11 +0000 (+0100) Subject: table rewrite X-Git-Tag: opf_rfc_ls005_v1~1301 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=20a7d60256fe52d30bbd015d3020696b787c3171;p=libreriscv.git table rewrite --- diff --git a/openpower/power_trans_ops.mdwn b/openpower/power_trans_ops.mdwn index ddea00a92..8d44481e5 100644 --- a/openpower/power_trans_ops.mdwn +++ b/openpower/power_trans_ops.mdwn @@ -1,53 +1,50 @@ ## List of 2-arg opcodes -[[!table data=""" -opcode | Description | pseudocode | Extension | -FATAN2 | atan2 arc tangent | rd = atan2(rs2, rs1) | Zarctrignpi | -FATAN2PI | atan2 arc tangent / pi | rd = atan2(rs2, rs1) / pi | Zarctrigpi | -FPOW | x power of y | rd = pow(rs1, rs2) | ZftransAdv | -FPOWN | x power of n (n int) | rd = pow(rs1, rs2) | ZftransAdv | -FPOWR | x power of y (x +ve) | rd = exp(rs1 log(rs2)) | ZftransAdv | -FROOTN | x power 1/n (n integer)| rd = pow(rs1, 1/rs2) | ZftransAdv | -FHYPOT | hypotenuse | rd = sqrt(rs1^2 + rs2^2) | ZftransAdv | -"""]] - +| opcode | Description | pseudocode | Extension | +| ------ | ---------------- | ---------------- | ----------- | +| FATAN2 | atan2 arc tangent | rd = atan2(rs2, rs1) | Zarctrignpi | +| FATAN2PI | atan2 arc tangent / pi | rd = atan2(rs2, rs1) / pi | Zarctrigpi | +| FPOW | x power of y | rd = pow(rs1, rs2) | ZftransAdv | +| FPOWN | x power of n (n int) | rd = pow(rs1, rs2) | ZftransAdv | +| FPOWR | x power of y (x +ve) | rd = exp(rs1 log(rs2)) | ZftransAdv | +| FROOTN | x power 1/n (n integer)| rd = pow(rs1, 1/rs2) | ZftransAdv | +| FHYPOT | hypotenuse | rd = sqrt(rs1^2 + rs2^2) | ZftransAdv | + ## List of 1-arg transcendental opcodes -[[!table data=""" -opcode | Description | pseudocode | Extension | -FRSQRT | Reciprocal Square-root | rd = sqrt(rs1) | Zfrsqrt | -FCBRT | Cube Root | rd = pow(rs1, 1.0 / 3) | ZftransAdv | -FRECIP | Reciprocal | rd = 1.0 / rs1 | Zftrans | -FEXP2 | power-of-2 | rd = pow(2, rs1) | Zftrans | -FLOG2 | log2 | rd = log(2. rs1) | Zftrans | -FEXPM1 | exponential minus 1 | rd = pow(e, rs1) - 1.0 | ZftransExt | -FLOG1P | log plus 1 | rd = log(e, 1 + rs1) | ZftransExt | -FEXP | exponential | rd = pow(e, rs1) | ZftransExt | -FLOG | natural log (base e) | rd = log(e, rs1) | ZftransExt | -FEXP10 | power-of-10 | rd = pow(10, rs1) | ZftransExt | -FLOG10 | log base 10 | rd = log(10, rs1) | ZftransExt | -"""]] +| opcode | Description | pseudocode | Extension | +| ------ | ---------------- | ---------------- | ----------- | +| FRSQRT | Reciprocal Square-root | rd = sqrt(rs1) | Zfrsqrt | +| FCBRT | Cube Root | rd = pow(rs1, 1.0 / 3) | ZftransAdv | +| FRECIP | Reciprocal | rd = 1.0 / rs1 | Zftrans | +| FEXP2 | power-of-2 | rd = pow(2, rs1) | Zftrans | +| FLOG2 | log2 | rd = log(2. rs1) | Zftrans | +| FEXPM1 | exponential minus 1 | rd = pow(e, rs1) - 1.0 | ZftransExt | +| FLOG1P | log plus 1 | rd = log(e, 1 + rs1) | ZftransExt | +| FEXP | exponential | rd = pow(e, rs1) | ZftransExt | +| FLOG | natural log (base e) | rd = log(e, rs1) | ZftransExt | +| FEXP10 | power-of-10 | rd = pow(10, rs1) | ZftransExt | +| FLOG10 | log base 10 | rd = log(10, rs1) | ZftransExt | ## List of 1-arg trigonometric opcodes - -[[!table data=""" -opcode | Description | pseudo-code | Extension | -FSIN | sin (radians) | rd = sin(rs1) | Ztrignpi | -FCOS | cos (radians) | rd = cos(rs1) | Ztrignpi | -FTAN | tan (radians) | rd = tan(rs1) | Ztrignpi | -FASIN | arcsin (radians) | rd = asin(rs1) | Zarctrignpi | -FACOS | arccos (radians) | rd = acos(rs1) | Zarctrignpi | -FATAN | arctan (radians) | rd = atan(rs1) | Zarctrignpi | -FSINPI | sin times pi | rd = sin(pi * rs1) | Ztrigpi | -FCOSPI | cos times pi | rd = cos(pi * rs1) | Ztrigpi | -FTANPI | tan times pi | rd = tan(pi * rs1) | Ztrigpi | -FASINPI | arcsin / pi | rd = asin(rs1) / pi | Zarctrigpi | -FACOSPI | arccos / pi | rd = acos(rs1) / pi | Zarctrigpi | -FATANPI | arctan / pi | rd = atan(rs1) / pi | Zarctrigpi | -FSINH | hyperbolic sin (radians) | rd = sinh(rs1) | Zfhyp | -FCOSH | hyperbolic cos (radians) | rd = cosh(rs1) | Zfhyp | -FTANH | hyperbolic tan (radians) | rd = tanh(rs1) | Zfhyp | -FASINH | inverse hyperbolic sin | rd = asinh(rs1) | Zfhyp | -FACOSH | inverse hyperbolic cos | rd = acosh(rs1) | Zfhyp | -FATANH | inverse hyperbolic tan | rd = atanh(rs1) | Zfhyp | -"""]] + +| opcode | Description | pseudo-code | Extension | +| ------ | ---------------- | ---------------- | ----------- | +| FSIN | sin (radians) | rd = sin(rs1) | Ztrignpi | +| FCOS | cos (radians) | rd = cos(rs1) | Ztrignpi | +| FTAN | tan (radians) | rd = tan(rs1) | Ztrignpi | +| FASIN | arcsin (radians) | rd = asin(rs1) | Zarctrignpi | +| FACOS | arccos (radians) | rd = acos(rs1) | Zarctrignpi | +| FATAN | arctan (radians) | rd = atan(rs1) | Zarctrignpi | +| FSINPI | sin times pi | rd = sin(pi * rs1) | Ztrigpi | +| FCOSPI | cos times pi | rd = cos(pi * rs1) | Ztrigpi | +| FTANPI | tan times pi | rd = tan(pi * rs1) | Ztrigpi | +| FASINPI | arcsin / pi | rd = asin(rs1) / pi | Zarctrigpi | +| FACOSPI | arccos / pi | rd = acos(rs1) / pi | Zarctrigpi | +| FATANPI | arctan / pi | rd = atan(rs1) / pi | Zarctrigpi | +| FSINH | hyperbolic sin (radians) | rd = sinh(rs1) | Zfhyp | +| FCOSH | hyperbolic cos (radians) | rd = cosh(rs1) | Zfhyp | +| FTANH | hyperbolic tan (radians) | rd = tanh(rs1) | Zfhyp | +| FASINH | inverse hyperbolic sin | rd = asinh(rs1) | Zfhyp | +| FACOSH | inverse hyperbolic cos | rd = acosh(rs1) | Zfhyp | +| FATANH | inverse hyperbolic tan | rd = atanh(rs1) | Zfhyp |