Does VFWMACCBF16.VF imply BF16 add/sub/mul/div support?
No. Zfbfmin/Zvfbfmin mainly provide BF16/FP32 conversion; Zvfbfwma provides widening multiply-accumulate.
BF16 vector widening fused multiply-accumulate: multiply BF16 sources and accumulate into FP32 vd.
VFWMACCBF16.VF performs vector-scalar BF16 widening fused multiply-accumulate: the scalar BF16 value in FPU register rs1 and 16-bit BF16 elements from vs2 are multiplied, the unrounded product is added to the corresponding 32-bit FP32 accumulator in vd, and the sum is rounded according to frm and written back to vd. It is part of Zvfbfwma, which depends on Zfbfmin and Zvfbfmin.
VFWMACCBF16.VF belongs to the RISC-V BF16 extensions; BF16 is a 16-bit FP format with 1 sign bit, 8 exponent bits, and 7 fraction bits.
Understand this scenario with real code like «vfwmaccbf16.vf v4, f0, v8 # v4[fp32] += bf16(f0) * bf16(v8[i])».
Understand this scenario with real code like «vfwmaccbf16.vf v4, f0, v8 # v4[fp32] += bf16(f0) * bf16(v8[i])».
No. Zfbfmin/Zvfbfmin mainly provide BF16/FP32 conversion; Zvfbfwma provides widening multiply-accumulate.
Vector BF16 instructions require SEW=16.