add rv FP major opcode table
[libreriscv.git] / rv_major_opcode_1010011.mdwn
1
2 [[!table data="""
3 31..27 | 26..25 | 24..20 |19..15| 14...12| 11..7 | 6....0 | function |
4 funct5 | SDHQ | rs2 | rs1 | funct3 | rd | opcode | |
5 5 | 2 | 5 | 5 | 3 | 5 | 7 | |
6 00000 | xx | rs2 | rs1 | rm | rd | 1010011 | FADD.xx |
7 00001 | xx | rs2 | rs1 | rm | rd | 1010011 | FSUB.xx |
8 00010 | xx | rs2 | rs1 | rm | rd | 1010011 | FMUL.xx |
9 00011 | xx | rs2 | rs1 | rm | rd | 1010011 | FDIV.xx |
10 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
11 00100 | xx | rs2 | rs1 | 000 | rd | 1010011 | FSGNJ.xx |
12 00100 | xx | rs2 | rs1 | 001 | rd | 1010011 | FSGNJN.xx |
13 00100 | xx | rs2 | rs1 | 010 | rd | 1010011 | FSGNJX.xx |
14 00100 | xx | rs2 | rs1 | 011 | rd | 1010011 | f3? |
15 00100 | xx | rs2 | rs1 | 100 | rd | 1010011 | f3? |
16 00100 | xx | rs2 | rs1 | 101 | rd | 1010011 | f3? |
17 00100 | xx | rs2 | rs1 | 110 | rd | 1010011 | f3? |
18 00100 | xx | rs2 | rs1 | 111 | rd | 1010011 | f3? |
19 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
20 00101 | xx | rs2 | rs1 | 000 | rd | 1010011 | FMIN.S |
21 00101 | xx | rs2 | rs1 | 001 | rd | 1010011 | FMAX.S |
22 00101 | xx | rs2 | rs1 | 010 | rd | 1010011 | f3? |
23 00101 | xx | rs2 | rs1 | 011 | rd | 1010011 | f3? |
24 00101 | xx | rs2 | rs1 | 100 | rd | 1010011 | f3? |
25 00101 | xx | rs2 | rs1 | 101 | rd | 1010011 | f3? |
26 00101 | xx | rs2 | rs1 | 110 | rd | 1010011 | f3? |
27 00101 | xx | rs2 | rs1 | 111 | rd | 1010011 | f3? |
28 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
29 00110 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
30 00111 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
31 01000 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
32 01001 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
33 01010 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
34 01011 | xx | rs2!=0 | rs1 | yyy | rd | 1010011 | ? |
35 01011 | xx | 00000 | rs1 | yyy | rd | 1010011 | FSQRT.xx |
36 01100 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
37 01101 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
38 01110 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
39 01111 | xx | rs2!=0 | rs1 | yyy | rd | 1010011 | ? |
40 01111 | xx | 00000 | rs1 | yyy | rd | 1010011 | FRSQRT.xx |
41 10000 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
42 10001 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
43 10010 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
44 10011 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
45 10100 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
46 10101 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
47 10110 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
48 10111 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
49 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
50 11000 | xx | 00000 | rs1 | yyy | rd | 1010011 | FCVT.W.xx |
51 11000 | xx | 00001 | rs1 | yyy | rd | 1010011 | FCVT.WU.xx |
52 11000 | xx | 00010 | rs1 | yyy | rd | 1010011 | |
53 11000 | xx | 00011 | rs1 | yyy | rd | 1010011 | |
54 11000 | xx | xxxxx | rs1 | yyy | rd | 1010011 | rs2? |
55 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
56 11001 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
57 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
58 11010 | xx | 00000 | rs1 | yyy | rd | 1010011 | |
59 11010 | xx | 00001 | rs1 | yyy | rd | 1010011 | |
60 11010 | xx | 00010 | rs1 | yyy | rd | 1010011 | |
61 11010 | xx | 00011 | rs1 | yyy | rd | 1010011 | FCVT.xx.LU |
62 11011 | xx | xxxxx | rs1 | yyy | rd | 1010011 | |
63 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
64 11100 | xx | 00000 | rs1 | yyy | rd | 1010011 | FCLASS.xx |
65 11100 | xx | xxxxx | rs1 | yyy | rd | 1010011 | rs2? |
66 ----- | ----- | ----- | -----| ----- | ----- | ------- | -------- |
67 11101 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
68 11110 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
69 11111 | xx | rs2 | rs1 | yyy | rd | 1010011 | |
70 """]]
71