# DRAFT List of 2-arg opcodes These are A-Form, recommended Major Opcode 63 for full-width and 59 for half-width (ending in s). | 0.5|6.10|11.15|16.20| 21.25 | 26.30 |31| name | Form | | -- | -- | --- | --- | ----- | ----- |--| ---- | ------- | | NN |FRT | FRA | FRB | /// | xxxxx |Rc| trigonometric | A-Form | As shown in Power ISA 3.0C Book III Appendix C Table 28 p1190 and Table 23 p1181, Major Opcode 63 has room for 9 A-Form 5-bit XO instructions, 00001, 01001, 01010, 01011, 01101, 10000, 10001, 10011, 11011. Major Opcode 59 has 11 5-bit XO instructions, 00000, 00001, 00100, 00101, 00110, 00111, 10000, 10001, 10011, 10111, 11011. | opcode | Description | Major 63 | Major 59 | | ------ | ---------------- | ---------------- | ----------- | | FATAN2 | atan2 arc tangent | 00001 | 00001 | | FATAN2PI | atan2 arc tangent / pi | 01001 | 00111 | | FPOW | x power of y | 10000 | 10000 | | FPOWN | x power of n (n int) | 10001 | 10001 | | FPOWR | x power of y (x +ve) | 10011 | 10011 | | FROOTN | x power 1/n (n integer)| 11011 | 11011 | | FHYPOT | hypotenuse | 10111 | 01101 | # DRAFT List of 1-arg transcendental opcodes These are X-Form, and are identical in Special Register Altered to `fsqrt` Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXIMZ VXZDZ CR1 (if Rc=1) | 0.5|6.10|11.15|16.20| 21..30 |31| name | Form | | -- | -- | --- | --- | ---------- |--| ---- | ------- | | NN |FRT | /// | FRB | xxxxx0111x |Rc| transcendental | X-Form | Recommended 10-bit XO with the low 5 LSBs 01110 and 01111: | opcode | Description | Major 59 and 63 | | ------ | ---------------- | ---------------- | | FRSQRT | Reciprocal Square-root | 11110 01110 | | FCBRT | Cube Root | 11111 01110 | | FRECIP | Reciprocal | 11110 01111 | | FEXP2 | power-of-2 | 00011 01110 | | FLOG2 | log2 | 00011 01111 | | FEXPM1 | exponential minus 1 | 00101 01110 | | FLOG1P | log plus 1 | 00110 01110 | | FEXP | exponential | 00111 01110 | | FLOG | natural log (base e) | 00111 01111 | | FEXP10 | power-of-10 | 11011 01110 | | FLOG10 | log base 10 | 11011 01111 | # DRAFT List of 1-arg trigonometric opcodes These are X-Form, and are identical in Special Register Altered to `fsqrt` Special Registers Altered: FPRF FR FI FX OX UX XX VXSNAN VXIMZ VXZDZ CR1 (if Rc=1) | 0.5|6.10|11.15|16.20| 21..30 |31| name | Form | | -- | -- | --- | --- | ---------- |--| ---- | ------- | | NN |FRT | /// | FRB | xxxxx0111x |Rc| trigonometric | X-Form | Recommended 10-bit XO with the low 5 LSBs 01110 and 01111: | opcode | Description | Major 59 and 63 | | ------ | ---------------- | ---------------- | | FSIN | sin (radians) | 01000 01110 | | FCOS | cos (radians) | 01001 01110 | | FTAN | tan (radians) | 01011 01110 | | FASIN | arcsin (radians) | 01100 01110 | | FACOS | arccos (radians) | 01101 01110 | | FATAN | arctan (radians) | 01111 01110 | | FSINPI | sin times pi | 01000 01111 | | FCOSPI | cos times pi | 01001 01111 | | FTANPI | tan times pi | 01011 01111 | | FASINPI | arcsin / pi | 01100 01111 | | FACOSPI | arccos / pi | 01101 01111 | | FATANPI | arctan / pi | 01111 01111 | | FSINH | hyperbolic sin (radians) | 10000 01110 | | FCOSH | hyperbolic cos (radians) | 10001 01110 | | FTANH | hyperbolic tan (radians) | 10011 01110 | | FASINH | inverse hyperbolic sin | 10000 01111 | | FACOSH | inverse hyperbolic cos | 10001 01111 | | FATANH | inverse hyperbolic tan | 10011 01111 |