FSQRT.Q 的编码怎样识别四精度平方根?
opcode=1010011 进入 OP-FP,funct5=01011 选择 FSQRT,fmt=11 选择 Q 四精度格式,rs2 字段固定为 00000。
四精度浮点平方根:rd = sqrt(rs1)。
FSQRT.Q 计算四精度浮点平方根,结果按 rm 字段或动态舍入模式舍入后写入 rd。负的非零有限数和 -∞ 产生规范 NaN 并设置 NV;-0 的平方根仍为 -0。
展示 Q 扩展四精度 OP-FP 指令的 ISA 可见流程:解析编码字段,读取浮点寄存器,执行 FSQRT 语义并写回 rd。
机器码按 R-type OP-FP 字段切分;四精度浮点 OP-FP 指令使用 opcode 1010011。
当前默认示例 sqrt(9.0)=3.0 可精确表示,因此示例 fflags 保持 0。
当前默认示例 sqrt(9.0)=3.0 可精确表示,因此示例 fflags 保持 0。
该动画只展示 RISC-V Q 扩展的 ISA 可见 OP-FP 编码、示例数值结果和 fflags 关系;不模拟具体 FPU 流水线、延迟、完整 IEEE 754 边界组合或微架构实现。
FSQRT.Q 是 Q 扩展四精度浮点平方根。它使用 OP-FP 编码,funct5=01011、fmt=Q(11),rs2 固定为 00000;指令读取 rs1 的四精度值,按 rm 或动态 frm 舍入后写回 rd。
结合 «fsqrt.q f0, f1, rne # f0 = sqrt(f1)» 等实际代码理解该场景。
结合 «fsqrt.q f0, f1, rne # f0 = sqrt(f1)» 等实际代码理解该场景。
opcode=1010011 进入 OP-FP,funct5=01011 选择 FSQRT,fmt=11 选择 Q 四精度格式,rs2 字段固定为 00000。
不一样。官方浮点规则保留 sqrt(-0)=-0;负的非零有限数和 -∞ 才进入 invalid-operation/NaN 路径。