估算结果是 implementation-defined 吗?
不是按实现随意决定。官方 V 扩展定义了 7 位估算和特殊输入处理规则。
计算vs2每个浮点元素的倒数近似值(7位精度),写入vd。
VFREC7.V 对每个活动元素产生规范定义的 7 位倒数估算。普通结果由查表与指数调整确定;极小非零输入溢出时,结果才依赖动态 frm。±0 返回同号无穷并置 DZ;±∞ 返回同号零;qNaN 返回 canonical NaN,sNaN 还置 NV。V 支持 FP32/FP64;SEW=16 算术需要 Zvfh。
定性编码演示:固定 SEW=32、LMUL=m1、VLEN=4096、vl=1、vstart=0、frm=RNE、合法 vtype 与 VS/FS 已启用。输入按有限非零 FP32 表示;不计算查表数值或异常标志。
VFUNARY1 OP-V 编码:vs1=00101,funct3=001,vm=1。
v0-v31; vm=1
v0-v31; vm=1
finite nonzero demo value
每个活动元素查表得到约 1/x 的 7 位估算;结果规则由规范确定。
vd 与 vs2 是 SEW 宽向量寄存器组;同宽源/目标可重叠。普通掩码目标不能与 v0 重叠。
这是单源查表倒数估算;编码 vs1=00101 是固定选择子,不是第二个向量源。普通结果不依赖 frm,极小输入溢出时依赖 frm。
vm 是汇编记法中的可选 v0.t:省略表示 vm=1;写 v0.t 表示 vm=0,只选择活动 vs2 元素。源不能同时以 EEW=1 掩码和 SEW 数据读取同一寄存器。
活动元素满足 vstart≤i<vl 且掩码开启;vstart≥vl 或 vl=0 时所有目标元素均不更新。其他非活动/尾部目标按 vma/vta,不保证清零。
V 1.0 可用于 RV32/RV64,包含 FP32/FP64 并依赖 F/D;SEW=16 算术需要 Zvfh。需要合法 vtype、支持的元素宽度、VS/FS 已启用和有效 frm;无效 frm 的使用保留,即使 vl=0。vxrm 不控制这些浮点操作。
假定 V/VS/FS 已启用、合法 vtype、frm=RNE、e32,m1 可用、VLMAX≥4、x10=4;vsetvli 后 vl=4、vstart=0。输入为 binary32,f0 若使用则在 FLEN=64 下有效 NaN-boxed。示例未掩码:v2=[1,1,1,1] → v1=[0.99609375,0.99609375,0.99609375,0.99609375]。尾部按 ta 处理,不假定清零。
假定 V/VS/FS 已启用、合法 vtype、frm=RNE、e32,m1 可用、VLMAX≥4、x10=4;vsetvli 后 vl=4、vstart=0。输入为 binary32,f0 若使用则在 FLEN=64 下有效 NaN-boxed。示例未掩码:v2=[1,1,1,1] → v1=[0.99609375,0.99609375,0.99609375,0.99609375]。尾部按 ta 处理,不假定清零。
不是按实现随意决定。官方 V 扩展定义了 7 位估算和特殊输入处理规则。