add rv FP major opcode table
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 4 Aug 2019 05:58:46 +0000 (06:58 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 4 Aug 2019 05:58:46 +0000 (06:58 +0100)
rv_major_opcode_1010011.mdwn [new file with mode: 0644]

diff --git a/rv_major_opcode_1010011.mdwn b/rv_major_opcode_1010011.mdwn
new file mode 100644 (file)
index 0000000..b1b19fe
--- /dev/null
@@ -0,0 +1,71 @@
+
+[[!table  data="""
+31..27  | 26..25  | 24..20 |19..15| 14...12| 11..7 | 6....0  | function    |
+funct5  | SDHQ    | rs2    | rs1  | funct3 | rd    | opcode  |             |
+ 5      | 2       | 5      | 5    | 3      | 5     |   7     |             |
+00000   | xx      | rs2    | rs1  | rm     | rd    | 1010011 | FADD.xx     |
+00001   | xx      | rs2    | rs1  | rm     | rd    | 1010011 | FSUB.xx     |
+00010   | xx      | rs2    | rs1  | rm     | rd    | 1010011 | FMUL.xx     |
+00011   | xx      | rs2    | rs1  | rm     | rd    | 1010011 | FDIV.xx     |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+00100   | xx      | rs2    | rs1  | 000    | rd    | 1010011 | FSGNJ.xx    |
+00100   | xx      | rs2    | rs1  | 001    | rd    | 1010011 | FSGNJN.xx   |
+00100   | xx      | rs2    | rs1  | 010    | rd    | 1010011 | FSGNJX.xx   |
+00100   | xx      | rs2    | rs1  | 011    | rd    | 1010011 | f3?         |
+00100   | xx      | rs2    | rs1  | 100    | rd    | 1010011 | f3?         |
+00100   | xx      | rs2    | rs1  | 101    | rd    | 1010011 | f3?         |
+00100   | xx      | rs2    | rs1  | 110    | rd    | 1010011 | f3?         |
+00100   | xx      | rs2    | rs1  | 111    | rd    | 1010011 | f3?         |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+00101   | xx      | rs2    | rs1  | 000    | rd    | 1010011 | FMIN.S      |
+00101   | xx      | rs2    | rs1  | 001    | rd    | 1010011 | FMAX.S      |
+00101   | xx      | rs2    | rs1  | 010    | rd    | 1010011 | f3?         |
+00101   | xx      | rs2    | rs1  | 011    | rd    | 1010011 | f3?         |
+00101   | xx      | rs2    | rs1  | 100    | rd    | 1010011 | f3?         |
+00101   | xx      | rs2    | rs1  | 101    | rd    | 1010011 | f3?         |
+00101   | xx      | rs2    | rs1  | 110    | rd    | 1010011 | f3?         |
+00101   | xx      | rs2    | rs1  | 111    | rd    | 1010011 | f3?         |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+00110   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?           |
+00111   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?           |
+01000   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?           |
+01001   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?           |
+01010   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 | ?           |
+01011   | xx      | rs2!=0 | rs1  | yyy    | rd    | 1010011 | ?           |
+01011   | xx      | 00000  | rs1  | yyy    | rd    | 1010011 | FSQRT.xx    |
+01100   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+01101   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+01110   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+01111   | xx      | rs2!=0 | rs1  | yyy    | rd    | 1010011 | ?           |
+01111   | xx      | 00000  | rs1  | yyy    | rd    | 1010011 | FRSQRT.xx   |
+10000   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+10001   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+10010   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+10011   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+10100   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+10101   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+10110   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+10111   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+11000   | xx      | 00000  | rs1  | yyy    | rd    | 1010011 | FCVT.W.xx   |
+11000   | xx      | 00001  | rs1  | yyy    | rd    | 1010011 | FCVT.WU.xx  |
+11000   | xx      | 00010  | rs1  | yyy    | rd    | 1010011 |             |
+11000   | xx      | 00011  | rs1  | yyy    | rd    | 1010011 |             |
+11000   | xx      | xxxxx  | rs1  | yyy    | rd    | 1010011 | rs2?        |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+11001   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+11010   | xx      | 00000  | rs1  | yyy    | rd    | 1010011 |             |
+11010   | xx      | 00001  | rs1  | yyy    | rd    | 1010011 |             |
+11010   | xx      | 00010  | rs1  | yyy    | rd    | 1010011 |             |
+11010   | xx      | 00011  | rs1  | yyy    | rd    | 1010011 | FCVT.xx.LU  |
+11011   | xx      | xxxxx  | rs1  | yyy    | rd    | 1010011 |             |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+11100   | xx      | 00000  | rs1  | yyy    | rd    | 1010011 | FCLASS.xx   |
+11100   | xx      | xxxxx  | rs1  | yyy    | rd    | 1010011 | rs2?        |
+-----   | -----   | -----  | -----| -----  | ----- | ------- | --------    |
+11101   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+11110   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+11111   | xx      | rs2    | rs1  | yyy    | rd    | 1010011 |             |
+"""]]
+