[PATCH] D136150: [AArch64]SME2 Single and Multi vector Shift and Multiply instructions
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 1 17:50:40 PDT 2022
paulwalker-arm accepted this revision.
paulwalker-arm added a comment.
This revision is now accepted and ready to land.
A couple of small requests but otherwise looks good.
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:3591
+multiclass sme2_sat_shift_vector_vg2<string mnemonic, bit op, bit u> {
+ def _S : sme2_sat_shift_vector_vg2<mnemonic, op, u>;
+}
----------------
This should be `_H`? because we typically reference the result element type, like you've done for the vg4 variants.
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:3604-3605
+ let Inst{23-22} = sz;
+ let Inst{21} = 0b1;
+ let Inst{15-11} = 0b11011;
+ let Inst{10} = n;
----------------
I'm not a fan of leaving holes in `Inst` like this. However, in this instance the hole is probably a bit big to hide within an opcode parameter so perhaps just add a comment like
```
// Inst{20-16} = imm5;
```
================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:3613
+multiclass sme2_sat_shift_vector_vg4<string mnemonic, bits<3> op> {
+ def _B : sme2_sat_shift_vector_vg4<{0,1}, op{2}, op{1-0}, ZPR8, ZZZZ_s_mul_r, vecshiftR32,
+ mnemonic>{
----------------
Can this be kept as `op` and the split done within `sme2_sat_shift_vector_vg4`?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D136150/new/
https://reviews.llvm.org/D136150
More information about the llvm-commits
mailing list