[PATCH] D135567: [AArch64] SME2 Multiple vectors int/float binary accumulator and two/four ZA single-vector
David Sherwood via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 20 05:58:00 PDT 2022
david-arm added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td:289
defm SQDMULH_4ZZ : sme2_sqdmulh_add_vector_vg4_single<"sqdmulh", 0b100000>;
+
}
----------------
nit: whitespace
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:1367
+ RegisterOperand vector_ty>
+ : sme2_multivec_accum_add_sub<mnemonic,sz, is_int, s,
+ matrix_ty, vector_ty , "vgx2"> {
----------------
nit: Perhaps insert a space before `sz`?
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:1377
+ def NAME : sme2_multivec_accum_add_sub_vg2<mnemonic, 0b0, op{1}, op{0},
+ MatrixOp32, ZZ_s_mul_r>;
+
----------------
nit: Can you align this with `mnemonic` above?
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:1385
+ def NAME : sme2_multivec_accum_add_sub_vg2<mnemonic, 0b1, op{1}, op{0},
+ MatrixOp64, ZZ_d_mul_r>;
+ def : InstAlias<mnemonic # "\t$ZAdn[$Rv, $imm3], $Zm",
----------------
nit: Alignment
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:1404
+ def NAME : sme2_multivec_accum_add_sub_vg4<mnemonic, 0b0, op{1}, op{0},
+ MatrixOp32, ZZZZ_s_mul_r>;
+
----------------
nit: Alignment
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:1412
+ def NAME : sme2_multivec_accum_add_sub_vg4<mnemonic, 0b1, op{1}, op{0},
+ MatrixOp64, ZZZZ_d_mul_r>;
+ def : InstAlias<mnemonic # "\t$ZAdn[$Rv, $imm3], $Zm",
----------------
nit: Alignment
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:1473
+
----------------
nit: whitespace
================
Comment at: llvm/test/MC/AArch64/SME2/add.s:41
+add za.s[w8, 0, vgx2], {z0.s-z1.s} // 11000001-10100000-00011100-00010000
+// CHECK-INST: add za.s[w8, 0, vgx2], { z0.s-z1.s }
+// CHECK-ENCODING: [0x10,0x1c,0xa0,0xc1]
----------------
Is this output still correct? I was expecting the vector list to be printed out as `{ z0.s, z1.s }`. Perhaps this patch just needs a rebase?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D135567/new/
https://reviews.llvm.org/D135567
More information about the llvm-commits
mailing list