<https://groups.google.com/a/groups.riscv.org/forum/m/#!topic/isa-dev/kXgfFqgBv-c>
* (Add new entries here: Zextname - Description and URL)
+[[!toc levels=2]]
+
# Main FP opcode 1010011 table
Notes:
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 | yyy | rd | 1010011 | tb=00100 |
+00100 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
00101 | xx | rs2 | rs1 | yyy | rd | 1010011 | tb=00101 |
00110 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
00111 | xx | rs2 | rs1 | yyy | rd | 1010011 | ? |
00100 | xx | rs2 | rs1 | 111 | rd | 1010011 | ?f3=111 |
"""]]
-# funct5 = 00101
+## funct5 = 00000 - FADD
+
+No brownfield encodings available.
+
+## funct5 = 00001 - FSUB
+
+No brownfield encodings available.
+
+## funct5 = 00010 - FMUL
+
+No brownfield encodings available.
+
+## funct5 = 00011 - FDIV
+
+No brownfield encodings available.
+
+## funct5 = 00100 - unused
+
+Brownfield encodings available.
+
+## funct5 = 00101
This table uses funct3 for encoding 2-operand FP operations where the result
register is a **floating-point** value.
00101 | xx | rs2 | rs1 | 111 | rd | 1010011 | ?f3=111 |
"""]]
-# funct5 = 01000
+## funct5 = 00110 - unused
+
+Brownfield encodings available.
+
+## funct5 = 00111 - unused
+
+Brownfield encodings available.
+
+## funct5 = 01000
This table uses rs2 for encoding 1-operand FP operations that require "rounding"
01000 | 11 | xxxxx | rs1 | rm | rd | 1010011 | rs2? |
"""]]
-# funct5 = 01011
+## funct5 = 01001 - unused
+
+Brownfield encodings available.
+
+## funct5 = 01010 - unused
+
+Brownfield encodings available.
+
+## funct5 = 01011
This table uses rs2 for encoding 1-operand FP operations that require "rounding"
01011 | xx | 11111 | rs1 | rm | rd | 1010011 | ? |
"""]]
-# funct5 = 10100
+## funct5 = 01100 - unused
+
+Brownfield encodings available.
+
+## funct5 = 01101 - unused
+
+Brownfield encodings available.
+
+## funct5 = 01110 - unused
+
+Brownfield encodings available.
+
+## funct5 = 01111 - **FPOW**
+
+Proposed for Zftrans - FPOW: "FP rs2 to the power of rs1"
+
+## funct5 = 10000 - unused
+
+Brownfield encodings available.
+
+## funct5 = 10001 - unused
+
+Brownfield encodings available.
+
+## funct5 = 10010 - unused
+
+Brownfield encodings available.
+
+## funct5 = 10011 - unused
+
+Brownfield encodings available.
+
+## funct5 = 10100
This table uses funct3 for encoding 2-operand FP "comparison" operations
where the result register is an **integer**
10100 | xx | rs2 | rs1 | 111 | rd | 1010011 | ?f3=111 |
"""]]
-# funct5 = 11000
+## funct5 = 10101 - unused
+
+Brownfield encodings available.
+
+## funct5 = 10110 - unused
+
+Brownfield encodings available.
+
+## funct5 = 10111 - unused
+
+Brownfield encodings available.
+
+## funct5 = 11000
This table uses rs2 for encoding 1-operand FP operations that require "rounding"
11000 | 11 | xxxxx | rs1 | rm | rd | 1010011 | rs2? |
"""]]
-# funct5 = 11010
+## funct5 = 11001 - unused
+
+Brownfield encodings available.
+
+## funct5 = 11010
This table uses rs2 for encoding 1-operand FP operations that require "rounding"
11010 | 11 | xxxxx | rs1 | rm | rd | 1010011 | rs2? |
"""]]
-# funct5 = 11100
+## funct5 = 11100
This table uses *both* rs2 *and* funct3 for encoding 1-operand FP operations.
11100 | xx | xxxxx | rs1 | yyy | rd | 1010011 | rs2? f3? |
"""]]
-# funct5 = 11110
+## funct5 = 11101 - unused
+
+Brownfield encodings available.
+
+## funct5 = 11110
This table uses *both* rs2 *and* funct3 for encoding 1-operand FP operations.
11110 | 11 | xxxxx | rs1 | yyy | rd | 1010011 | rs2? f3? |
"""]]
-# funct5 = ?????
+## funct5 = 11111 - unused
+
+Brownfield encodings available.
+
+## funct5 = ?????
[[!table data="""
31..27 | 26..25 | 24..20 |19..15| 14...12| 11..7 | 6....0 | function |