reformat tables
authorJacob Lifshay <programmerjake@gmail.com>
Fri, 9 Sep 2022 07:23:28 +0000 (00:23 -0700)
committerJacob Lifshay <programmerjake@gmail.com>
Fri, 9 Sep 2022 08:19:55 +0000 (01:19 -0700)
openpower/transcendentals.mdwn

index e07592d3e9f3c2b1d3c2eccaebf7d56e329cb5fe..2648ea63d25d93a32a778a5480095e2dc9e22d67 100644 (file)
@@ -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