@samitouri / QOSamiQemu / commits / d82ceee970

target/arm: Implement FMLALL (multiple and indexed vector)

Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20260618041517.573469-6-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Richard Henderson committed Jun 17, 2026 at 21:15 UTC d82ceee970536ce605811521c34213d2bdcba7c3
2 files changed +8
target/arm/tcg/sme.decode
+4
@@ -771,6 +771,10 @@ FMLS_nx_h 11000001 0001 .... 1 .. 1.. ...00 1 .... @azx_4x1_i3_o3
771 FMLS_nx_s 11000001 0101 .... 1 .. 0.. ...00 10 ... @azx_4x1_i2_o3
772 FMLS_nx_d 11000001 1101 .... 1 .. 00. ...00 10 ... @azx_4x1_i1_o3
773
774 +FMLALL_nx_b 11000001 0100 .... . .. ... ..... 000 .. @azx_1x1_i4_o2
775 +FMLALL_nx_b 11000001 1001 .... 0 .. 0.. ....1 00.. . @azx_2x1_i4_o1
776 +FMLALL_nx_b 11000001 0001 .... 1 .. 0.. ...10 00.. . @azx_4x1_i4_o1
777 +
778 ### SME2 Add / Sub array accumulators
779
780 ADD_aaz_s 11000001 101 000000 .. 111 ....0 10 ... @az_2x2_o3
target/arm/tcg/translate-sme.c
+4
@@ -1157,6 +1157,10 @@ static bool do_bfmlal_nx(DisasContext *s, arg_azx_n *a, bool sub)
1157 TRANS_FEAT(BFMLAL_nx, aa64_sme2, do_bfmlal_nx, a, false)
1158 TRANS_FEAT(BFMLSL_nx, aa64_sme2, do_bfmlal_nx, a, true)
1159
1160 +TRANS_FEAT(FMLALL_nx_b, aa64_sme_f8f32, do_azz_acc_fp8,
1161 + a->n, 4, a->rv, a->off, a->zn, a->zm,
1162 + a->idx << 2, 0, false, gen_helper_gvec_fmla_idx_sb)
1163 +
1164 static bool do_fdot(DisasContext *s, arg_azz_n *a, bool multi)
1165 {
1166 return do_azz_acc_fp(s, a->n, 1, a->rv, a->off, a->zn, a->zm, 1, 0,