[PATCH] D128648: [Clang][AArch64][SME] Add vector read/write (mova) intrinsics

Bryan Chan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 1 09:53:27 PST 2023


bryanpkc added inline comments.


================
Comment at: clang/include/clang/Basic/arm_sme.td:103
+    def NAME # _H : SInst<"svwrite_hor_" # n_suffix # "[_{d}]", "vimiPd", t, MergeOp1,
+                          "aarch64_sme_write" # !cond(!eq(n_suffix, "za128") : "q", true: "") # "_horiz",
+                          [IsWrite, IsStreaming, IsSharedZA], ch>;
----------------
kmclaughlin wrote:
> This is only a suggestion, but would it make the multiclasses simpler to just pass in either `"q"` or `""` depending on the instruction, and append this to `aarch64_sme_read/write`?
Thanks for the suggestion, but simplifying the definition at the cost of complicating the interface does not seem worthwhile. I think the current implementation is more self-documenting and clearer about the intent, and reduces the cognitive burden for a future reader, to whom the uses of `""` and `"q"` may not be obvious.


================
Comment at: clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c:2
+// REQUIRES: aarch64-registered-target
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,CHECK-C
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX
----------------
kmclaughlin wrote:
> I think `-target-feature +sve` can be removed from this test and `acle_sme_write.c`
Doing that will cause errors like these:
```
error: SVE vector type 'svbool_t' (aka '__SVBool_t') cannot be used in a target without sve
```
As I have explained in [D127910](https://reviews.llvm.org/D127910#4137844), `-target-feature +sme` does not imply `-target-feature +sve`. But `-march=` processing will work as expected when D142702 lands.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128648



More information about the cfe-commits mailing list