add hypotenuse opcode
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 6 Aug 2019 23:12:36 +0000 (00:12 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 6 Aug 2019 23:12:36 +0000 (00:12 +0100)
rv_major_opcode_1010011.mdwn
ztrans_proposal.mdwn

index 82d69456de5630b946c83886d435a338c08546b1..5e2f48d8890b8055b13908a75812bb4e9c38956b 100644 (file)
@@ -56,7 +56,7 @@ funct5  | SDHQ    | rs2    | rs1  | funct3 | rd    | opcode  | name           |
 01001   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?              |
 01010   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?              |
 01011   | xx      | xxxxx  | rs1  | yyy    | rd    | 1010011 | tb=01011       |
-01100   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?              |
+01100   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | **FHYPOT.xx**  |
 01101   | xx      | rs2    | rs1  | rm     | rd    | 1010011 | **FATAN2.xx**  |
 01110   | xx      | rs2    | rs1  | rm     | rd    | 1010011 | **FATAN2PI.xx**|
 01111   | xx      | rs2    | rs1  | rm     | rd    | 1010011 | **FPOW.xx**    |
@@ -238,9 +238,9 @@ funct5  | SDHQ    | rs2    | rs1  | funct3 | rd    | opcode  | name          |
 01011   | xx      | 11111  | rs1  | rm     | rd    | 1010011 | ?             |
 """]]
 
-## funct5 = 01100 - unused
+## funct5 = 01100 - **FHYPOT**
 
-Brownfield encodings available.
+Proposed for Zftrans - FHYPOT: "sqrt(rs1 * rs1 + rs2 * rs2)"
 
 ## funct5 = 01101 - **FATAN2**
 
index d0dff7e26fe68f55ee665b24a6dcc1bc3eda6f93..f68b02fbcfb19d118322f288166e39a57510986e 100644 (file)
@@ -30,6 +30,7 @@ FATAN2    | atan2 arc tangent     | rd = atan2(rs2, rs1)       | Zarctrignpi |
 FATAN2PI  | atan arc tangent / pi | rd = atan2(rs2, rs1) / pi  | Zarctrigpi |
 FPOW      | x power of y          | rd = pow(rs1, rs2)         | ZftransAdv |
 FROOT     | x power 1/y           | rd = pow(rs1, 1/rs2)       | ZftransAdv |
+FHYPOT    | hypotenuse            | rd = sqrt(x^2 + y^2)       | Zftrans    |
 """]]
 
 # List of 1-arg transcendental opcodes