[PATCH] D77873: [AArch64] Armv8.6-A Mat Mul SVE Assembly

Cullen Rhodes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 17 10:47:18 PDT 2020


c-rhodes added a comment.

@LukeGeeson thanks for the patch! Just a few comments but nothing major



================
Comment at: llvm/lib/Target/AArch64/SVEInstrFormats.td:7624
+// SVE Memory - Contiguous Load And Replicate 256-bit Group
+//===----------------------------------------------------------------------===//
+class sve_mem_ldor_si<bits<2> sz, string asm, RegisterOperand VecList>
----------------
nit: add a line after comment for consistency


================
Comment at: llvm/test/MC/AArch64/SVE/matrix-multiply-fp-diagnostics.s:68
+
+// Shift ammount not matched to data width
+ld1rob { z0.b }, p1/z, [x2, x3, lsl #1]
----------------
s/ammount/amount


================
Comment at: llvm/test/MC/AArch64/SVE/matrix-multiply-fp64.s:74
+
+// Aliases with a plain (non-list) first operand, and omitted offset.
+
----------------
So it looks like there's three aliases defined:

  # Vector list first operand no immediate
  # Vector register first operand no immediate
  # Vector register first operand with immediate

These tests only cover the second, please could you add tests for the other two



================
Comment at: llvm/test/MC/AArch64/SVE/matrix-multiply-fp64.s:156-185
+// --------------------------------------------------------------------------//
+// ZIP1, ZIP2 (SVE, 128-bit element)
+
+zip1 z0.q, z1.q, z2.q
+// CHECK-INST: zip1 z0.q, z1.q, z2.q
+// CHECK-ENCODING: [0x20,0x00,0xa2,0x05]
+// CHECK-ERROR: instruction requires: f64mm
----------------
Should there be tests for `uzp1` and `uzp2` as well?


================
Comment at: llvm/test/MC/AArch64/SVE/matrix-multiply-int8-diagnostics.s:15
+
+// Negative tests for instructions that are incompatible with movprfx
+
----------------
incompatible with predicated movprfx (and below)


================
Comment at: llvm/test/MC/AArch64/SVE/matrix-multiply-int8.s:107
+
+// Test compatibility with MOVPRFX instruction.
+
----------------
Missing a movprfx test for indexed form of `sudot`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77873/new/

https://reviews.llvm.org/D77873





More information about the llvm-commits mailing list