Does VFWMACCBF16.VV 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.VV performs BF16 widening fused multiply-accumulate: 16-bit BF16 elements from vs1 and 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 typical for DNN matrix multiply-accumulate. It is part of Zvfbfwma, which depends on Zfbfmin and Zvfbfmin.
VFWMACCBF16.VV 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.vv v4, v8, v12 # v4[fp32] += bf16(v8) * bf16(v12)».
Understand this scenario with real code like «vfwmaccbf16.vv v4, v8, v12 # v4[fp32] += bf16(v8) * bf16(v12)».
No. Zfbfmin/Zvfbfmin mainly provide BF16/FP32 conversion; Zvfbfwma provides widening multiply-accumulate.
Vector BF16 instructions require SEW=16.