From e41962226f34e58036e191bbef97576c3c404a44 Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Fri, 9 Sep 2022 00:23:28 -0700 Subject: [PATCH] reformat tables --- openpower/transcendentals.mdwn | 106 ++++++++++++++++----------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/openpower/transcendentals.mdwn b/openpower/transcendentals.mdwn index e07592d3e..2648ea63d 100644 --- a/openpower/transcendentals.mdwn +++ b/openpower/transcendentals.mdwn @@ -134,50 +134,50 @@ IEEE754-2019 Table 9.1 lists "additional mathematical operations". Interestingly the only functions missing when compared to OpenCL are compound, exp2m1, exp10m1, log2p1, log10p1, pown (integer power) and powr. -|opcode |OpenCL FP32|OpenCL FP16|OpenCL native|IEEE754 |Power ISA | -|------- |-----------|-----------|-------------|------- |--------- | -|fsin |sin |half\_sin |native\_sin |sin |NONE | -|fcos |cos |half\_cos |native\_cos |cos |NONE | -|ftan |tan |half\_tan |native\_tan |tan |NONE | -|NONE (1)|sincos |NONE |NONE |NONE |NONE | -|fasin |asin |NONE |NONE |asin |NONE | -|facos |acos |NONE |NONE |acos |NONE | -|fatan |atan |NONE |NONE |atan |NONE | -|fsinpi |sinpi |NONE |NONE |sinPi |NONE | -|fcospi |cospi |NONE |NONE |cosPi |NONE | -|ftanpi |tanpi |NONE |NONE |tanPi |NONE | -|fasinpi |asinpi |NONE |NONE |asinPi |NONE | -|facospi |acospi |NONE |NONE |acosPi |NONE | -|fatanpi |atanpi |NONE |NONE |atanPi |NONE | -|fsinh |sinh |NONE |NONE |sinh |NONE | -|fcosh |cosh |NONE |NONE |cosh |NONE | -|ftanh |tanh |NONE |NONE |tanh |NONE | -|fasinh |asinh |NONE |NONE |asinh |NONE | -|facosh |acosh |NONE |NONE |acosh |NONE | -|fatanh |atanh |NONE |NONE |atanh |NONE | -|fatan2 |atan2 |NONE |NONE |atan2 |NONE | -|fatan2pi|atan2pi |NONE |NONE |atan2pi |NONE | -|frsqrt |rsqrt |half\_rsqrt|native\_rsqrt|rSqrt |fsqrte, fsqrtes (4) | -|fcbrt |cbrt |NONE |NONE |NONE (2)|NONE | -|fexp2 |exp2 |half\_exp2 |native\_exp2 |exp2 |NONE | -|flog2 |log2 |half\_log2 |native\_log2 |log2 |NONE | -|fexpm1 |expm1 |NONE |NONE |expm1 |NONE | -|flog1p |log1p |NONE |NONE |logp1 |NONE | -|fexp |exp |half\_exp |native\_exp |exp |NONE | -|flog |log |half\_log |native\_log |log |NONE | -|fexp10 |exp10 |half\_exp10|native\_exp10|exp10 |NONE | -|flog10 |log10 |half\_log10|native\_log10|log10 |NONE | -|fpow |pow |NONE |NONE |pow |NONE | -|fpown |pown |NONE |NONE |pown |NONE | -|fpowr |powr |half\_powr |native\_powr |powr |NONE | -|frootn |rootn |NONE |NONE |rootn |NONE | -|fhypot |hypot |NONE |NONE |hypot |NONE | -|frecip |NONE |half\_recip|native\_recip|NONE (3)|fre, fres (4) | -|NONE |NONE |NONE |NONE |compound|NONE | -|fexp2m1 |NONE |NONE |NONE |exp2m1 |NONE | -|fexp10m1|NONE |NONE |NONE |exp10m1 |NONE | -|flog2p1 |NONE |NONE |NONE |log2p1 |NONE | -|flog10p1|NONE |NONE |NONE |log10p1 |NONE | +|opcode |OpenCL FP32|OpenCL FP16|OpenCL native|IEEE754 |Power ISA | +|------------|-----------|-----------|-------------|-------------- |------------------------| +|fsin |sin |half\_sin |native\_sin |sin |NONE | +|fcos |cos |half\_cos |native\_cos |cos |NONE | +|ftan |tan |half\_tan |native\_tan |tan |NONE | +|NONE (1) |sincos |NONE |NONE |NONE |NONE | +|fasin |asin |NONE |NONE |asin |NONE | +|facos |acos |NONE |NONE |acos |NONE | +|fatan |atan |NONE |NONE |atan |NONE | +|fsinpi |sinpi |NONE |NONE |sinPi |NONE | +|fcospi |cospi |NONE |NONE |cosPi |NONE | +|ftanpi |tanpi |NONE |NONE |tanPi |NONE | +|fasinpi |asinpi |NONE |NONE |asinPi |NONE | +|facospi |acospi |NONE |NONE |acosPi |NONE | +|fatanpi |atanpi |NONE |NONE |atanPi |NONE | +|fsinh |sinh |NONE |NONE |sinh |NONE | +|fcosh |cosh |NONE |NONE |cosh |NONE | +|ftanh |tanh |NONE |NONE |tanh |NONE | +|fasinh |asinh |NONE |NONE |asinh |NONE | +|facosh |acosh |NONE |NONE |acosh |NONE | +|fatanh |atanh |NONE |NONE |atanh |NONE | +|fatan2 |atan2 |NONE |NONE |atan2 |NONE | +|fatan2pi |atan2pi |NONE |NONE |atan2pi |NONE | +|frsqrt |rsqrt |half\_rsqrt|native\_rsqrt|rSqrt |fsqrte, fsqrtes (4) | +|fcbrt |cbrt |NONE |NONE |NONE (2) |NONE | +|fexp2 |exp2 |half\_exp2 |native\_exp2 |exp2 |NONE | +|flog2 |log2 |half\_log2 |native\_log2 |log2 |NONE | +|fexpm1 |expm1 |NONE |NONE |expm1 |NONE | +|flog1p |log1p |NONE |NONE |logp1 |NONE | +|fexp |exp |half\_exp |native\_exp |exp |NONE | +|flog |log |half\_log |native\_log |log |NONE | +|fexp10 |exp10 |half\_exp10|native\_exp10|exp10 |NONE | +|flog10 |log10 |half\_log10|native\_log10|log10 |NONE | +|fpow |pow |NONE |NONE |pow |NONE | +|fpown |pown |NONE |NONE |pown |NONE | +|fpowr |powr |half\_powr |native\_powr |powr |NONE | +|frootn |rootn |NONE |NONE |rootn |NONE | +|fhypot |hypot |NONE |NONE |hypot |NONE | +|frecip |NONE |half\_recip|native\_recip|NONE (3) |fre, fres (4) | +|NONE |NONE |NONE |NONE |compound |NONE | +|fexp2m1 |NONE |NONE |NONE |exp2m1 |NONE | +|fexp10m1 |NONE |NONE |NONE |exp10m1 |NONE | +|flog2p1 |NONE |NONE |NONE |log2p1 |NONE | +|flog10p1 |NONE |NONE |NONE |log10p1 |NONE | Note (1) fsincos is macro-op fused (see below). @@ -190,15 +190,15 @@ software emulation ## List of 2-arg opcodes -| opcode | Description | pseudocode | Extension | -| ------ | ---------------- | ---------------- | ----------- | -| fatan2 | atan2 arc tangent | FRT = atan2(FRB, FRA) | Zarctrignpi | -| fatan2pi | atan2 arc tangent / pi | FRT = atan2(FRB, FRA) / pi | Zarctrigpi | -| fpow | x power of y | FRT = pow(FRA, FRB) | ZftransAdv | -| fpown | x power of n (n int) | FRT = pow(FRA, RB) | ZftransAdv | -| fpowr | x power of y (x +ve) | FRT = exp(FRA log(FRB)) | ZftransAdv | -| frootn | x power 1/n (n integer)| FRT = pow(FRA, 1/RB) | ZftransAdv | -| fhypot | hypotenuse | FRT = sqrt(FRA^2 + FRB^2) | ZftransAdv | +| opcode | Description | pseudocode | Extension | +| ------ | ---------------- | ---------------- | ----------- | +| fatan2 | atan2 arc tangent | FRT = atan2(FRB, FRA) | Zarctrignpi | +| fatan2pi | atan2 arc tangent / pi | FRT = atan2(FRB, FRA) / pi | Zarctrigpi | +| fpow | x power of y | FRT = pow(FRA, FRB) | ZftransAdv | +| fpown | x power of n (n int) | FRT = pow(FRA, RB) | ZftransAdv | +| fpowr | x power of y (x +ve) | FRT = exp(FRA log(FRB)) | ZftransAdv | +| frootn | x power 1/n (n integer) | FRT = pow(FRA, 1/RB) | ZftransAdv | +| fhypot | hypotenuse | FRT = sqrt(FRA^2 + FRB^2) | ZftransAdv | ## List of 1-arg transcendental opcodes -- 2.30.2