FLI.S 可以加载任意浮点常量吗?
不可以。它只能选择 Zfa 规定的 32 个表项。
从 Zfa 32 项常量表加载一个单精度浮点常量。
FLI.S 从指令 rs1 字段编码的 32 项 Zfa 浮点常量表中选择一个单精度常量写入 f[rd]。它不是任意立即数编码;entry 1 是目标格式的最小正规正数,entry 30 是 +inf,entry 31 是规范 NaN。加载常量不设置浮点异常标志。
FLI.S 解决的是“常见浮点常量能否不用内存池加载”。它只能加载官方 32 项表中的常量,不能表达任意二进制浮点字面量。
结合 «fli.s f0, 1.0 # f0 = 1.0 (rs1=16)» 等实际代码理解该场景。
结合 «fli.s f0, 1.0 # f0 = 1.0 (rs1=16)» 等实际代码理解该场景。
不可以。它只能选择 Zfa 规定的 32 个表项。
汇编器把可接受的常量名或数值映射到 rs1 字段中的 0-31 表项索引。