微指令列表¶
当前版本,浮点块块体中提供的微指令列表如下:
公共指令¶
浮点标量块内支持所有的公共指令,具体请见公共指令列表。
特有指令¶
浮点标量块内独有的32bit指令如下:
| 分类 | 指令列表 |
|---|---|
| 浮点运算 | FADD, FSUB, FMUL, FDIV, FMADD, FMSUB, FNMADD, FNMSUB |
| 浮点比较 | FEQ, FNE, FLT, FGE, FEQS, FNES, FLTS, FGES |
| 最大最小值 | MAX, MIN, MAXU, MINU, FMAX, FMIN |
| 数据格式转换 | FCVT, SCVTF, UCVTF, FCVTA, FCVTM, FCVTN, FCVTP, FCVTZ |
| 浮点特殊运算 | FABS, FSQRT, FRECIP |
浮点数据类型¶
浮点标量块内的浮点指令支持4种格式的浮点型数据的运算和操作,包括双精度浮点数、单精度浮点数、半精度浮点数和低精度浮点数,并且都遵循IEEE 754-2008标准规范的定义。
浮点数据类型定义如下表:
| 浮点型格式 | 汇编符号 | 符号位位数 | 指数位数 | 尾数位数 | 解释 |
|---|---|---|---|---|---|
| FP8 | FB | 1 | 4 | 3 | 表示8bit低精度low precision浮点数 |
| FP16 | FH | 1 | 5 | 10 | 表示16bit半精度half precision浮点数 |
| FP32 | FS | 1 | 8 | 23 | 表示32bit单精度single precision浮点数 |
| FP64 | FD | 1 | 11 | 52 | 表示64bit双精度double precision浮点数 |
各浮点数据类型示意图如下:

备注¶
浮点块内暂时不支持超长指令。