VFWMACCBF16.VF 是否提供 BF16 加减乘除?
不。Zfbfmin/Zvfbfmin 主要提供 BF16 与 FP32 转换;Zvfbfwma 提供拓宽乘加。
BF16 向量拓宽融合乘加:BF16 源相乘,累加到 FP32 vd。
VFWMACCBF16.VF 执行向量-标量 BF16 加宽融合乘累加:FPU 寄存器 rs1 中的标量 BF16 与 vs2 的 16 位 BF16 元素相乘,未舍入乘积加到 vd 中对应的 32 位 FP32 累加值,按 frm 舍入后写回 vd。属于 Zvfbfwma;该扩展依赖 Zfbfmin 和 Zvfbfmin。
VFWMACCBF16.VF 属于 RISC-V BF16 扩展;BF16 是 1 位符号、8 位指数、7 位 fraction 的 16 位浮点格式。
结合 «vfwmaccbf16.vf v4, f0, v8 # v4[fp32] += bf16(f0) * bf16(v8[i])» 等实际代码理解该场景。
结合 «vfwmaccbf16.vf v4, f0, v8 # v4[fp32] += bf16(f0) * bf16(v8[i])» 等实际代码理解该场景。
不。Zfbfmin/Zvfbfmin 主要提供 BF16 与 FP32 转换;Zvfbfwma 提供拓宽乘加。
向量 BF16 指令要求 SEW=16。