SVE Instruction List by Dougall Johnson
See "BFMMLA (non-widening)" in the exploration tools

BFMMLA (non-widening): BFloat16 matrix multiply-accumulate

BFMMLA Zda.H, Zn.H, Zm.H (SVE+B16MM+NS

128-bit SVE

Within each 64-bit segment, interpreting the BFloat16 values from (1), (2) and (3) as 2-by-2 matrices, multiply (1) by (2), add the resulting 2-by-2 matrix to (3), and write the result to (4). See the documentation for the exact order of operations.

256-bit SVE

Within each 64-bit segment, interpreting the BFloat16 values from (1), (2) and (3) as 2-by-2 matrices, multiply (1) by (2), add the resulting 2-by-2 matrix to (3), and write the result to (4). See the documentation for the exact order of operations.

512-bit SVE

Within each 64-bit segment, interpreting the BFloat16 values from (1), (2) and (3) as 2-by-2 matrices, multiply (1) by (2), add the resulting 2-by-2 matrix to (3), and write the result to (4). See the documentation for the exact order of operations.

Larger sizes

1024-bit SVE

Within each 64-bit segment, interpreting the BFloat16 values from (1), (2) and (3) as 2-by-2 matrices, multiply (1) by (2), add the resulting 2-by-2 matrix to (3), and write the result to (4). See the documentation for the exact order of operations.

2048-bit SVE

Within each 64-bit segment, interpreting the BFloat16 values from (1), (2) and (3) as 2-by-2 matrices, multiply (1) by (2), add the resulting 2-by-2 matrix to (3), and write the result to (4). See the documentation for the exact order of operations.

Report mistakes or give feedback
Inspired by and based on the x86/x64 SIMD Instruction List by Daytime.