首页/指令库/FCLASS-H
FCLASS.H

RISC-V FCLASS.H 指令详解

指令手册R-type

检查半精度浮点值类型,返回10位分类掩码。R型,fmt=H(10)。Zfhmin子集。

指令语法

fclass.h rd, rs1
操作数说明
目标寄存器 rd:存放运算结果的通用寄存器。
源寄存器 rs1:第一个操作数寄存器。
源寄存器 rs2:第二个操作数寄存器。
Zfh浮点比较

指令行为说明

fclass.h 对 f[rs1] 中的半精度浮点值分类,并把 10 位分类掩码写入整数寄存器 rd。

快速理解与检索要点

fclass.h 对 f[rs1] 中的半精度浮点值分类,并把 10 位分类掩码写入整数寄存器 rd。

FCLASS 不执行舍入,也不按数值大小比较;它返回的是分类位掩码。
分类包括负/正无穷、正规数、次正规数、零、信号 NaN 和静态 NaN 等类别。

常见使用场景

信号处理与DSP

结合 «fclass.h x10, f0 # x10 = class of f0» 等实际代码理解该场景。

浮点基本运算

结合 «fclass.h x10, f0 # x10 = class of f0» 等实际代码理解该场景。

使用前检查清单

语法检查
  • 确认当前指令格式为 R-type。
  • 确认操作数排列顺序与示例一致。
语义检查
  • 确认目标寄存器用途和调用约定兼容。
  • 确认该指令不是伪指令展开后的底层形式。

容易混淆 / 常见误区

FCLASS 不执行舍入,也不按数值大小比较;它返回的是分类位掩码。
分类包括负/正无穷、正规数、次正规数、零、信号 NaN 和静态 NaN 等类别。

常见问题

fclass.h 会改变浮点值吗?

不会。它读取浮点源操作数,并把分类掩码写入整数寄存器。

fclass.h 是否受 rm 影响?

不受影响;FCLASS 没有舍入结果。