@@ -0,0 +1,112 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
+
+// REQUIRES: aarch64-registered-target
+// RUN: %clang_cc1 -triple aarch64 -target-feature +bf16 -target-feature
+sme-tmop -target-feature +sme-f16f16 -target-feature +sme-b16b16
@@ -907,6 +907,48 @@ let SMETargetGuard = "sme-f16f16" in {
}
+
+// SME2 - TMOP, SUTMOP, USTMOP
+
+multiclass USTMOP checks> {
+ def _ : SInst<"svtmopa_lane_" # za # "[_{d}_{3}]",
+
@@ -0,0 +1,112 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
+
+// REQUIRES: aarch64-registered-target
+// RUN: %clang_cc1 -triple aarch64 -target-feature +bf16 -target-feature
+sme-tmop -target-feature +sme-f16f16 -target-feature +sme-b16b16
@@ -0,0 +1,176 @@
+// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -target-feature +sme2
-target-feature +bf16 -target-feature +sme-f16f16 -target-feature +sme-b16b16
-verify -emit-llvm -o - %s
+
+// REQUIRES: aarch64-registered-target
+
+#include
+
+void test_features(
@@ -3593,6 +3578,25 @@ class sme_tmopa_32b opc, RegisterOperand zn_ty,
RegisterOperand zm_ty, s
let Constraints = "$ZAda = $_ZAda";
}
+multiclass sme_tmopa_16b opc, RegisterOperand zn_ty, RegisterOperand
zm_ty, ValueType vt, string mnemonic, string intrinsic> {
+ def NAME
https://github.com/jthackray updated
https://github.com/llvm/llvm-project/pull/135145
>From c0bff6fe1d1630ba93361ac29bca798810a64178 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray
Date: Mon, 3 Mar 2025 16:16:46 +
Subject: [PATCH 1/3] [AArch64][clang][llvm] Add structured sparsity outer
p
https://github.com/jthackray updated
https://github.com/llvm/llvm-project/pull/135145
>From c0bff6fe1d1630ba93361ac29bca798810a64178 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray
Date: Mon, 3 Mar 2025 16:16:46 +
Subject: [PATCH 1/4] [AArch64][clang][llvm] Add structured sparsity outer
p
@@ -907,6 +907,48 @@ let SMETargetGuard = "sme-f16f16" in {
}
+
+// SME2 - TMOP, SUTMOP, USTMOP
+
+multiclass USTMOP checks> {
+ def _ : SInst<"svtmopa_lane_" # za # "[_{d}_{3}]",
+
@@ -907,6 +907,48 @@ let SMETargetGuard = "sme-f16f16" in {
}
+
+// SME2 - TMOP, SUTMOP, USTMOP
+
+multiclass USTMOP checks> {
+ def _ : SInst<"svtmopa_lane_" # za # "[_{d}_{3}]",
+
@@ -907,6 +907,48 @@ let SMETargetGuard = "sme-f16f16" in {
}
+
+// SME2 - TMOP, SUTMOP, USTMOP
+
+multiclass USTMOP checks> {
+ def _ : SInst<"svtmopa_lane_" # za # "[_{d}_{3}]",
+
@@ -907,6 +907,48 @@ let SMETargetGuard = "sme-f16f16" in {
}
+
+// SME2 - TMOP, SUTMOP, USTMOP
+
+multiclass USTMOP checks> {
+ def _ : SInst<"svtmopa_lane_" # za # "[_{d}_{3}]",
+
@@ -0,0 +1,133 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
+
+// REQUIRES: aarch64-registered-target
+// RUN: %clang_cc1 -triple aarch64 -target-feature +bf16 -target-feature
+sme-tmop -target-feature +sme-f16f16 -target-feature +sme-b16b16
@@ -907,6 +907,48 @@ let SMETargetGuard = "sme-f16f16" in {
}
+
+// SME2 - TMOP, SUTMOP, USTMOP
+
+multiclass USTMOP checks> {
+ def _ : SInst<"svtmopa_lane_" # za # "[_{d}_{3}]",
+
@@ -0,0 +1,191 @@
+// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -target-feature +sme2
-target-feature +bf16 -target-feature +sme-f16f16 -target-feature +sme-b16b16
-verify -emit-llvm -o - %s
jthackray wrote:
Thanks, pruned. (I should have realised th
@@ -281,6 +289,12 @@ class SME2_ZA_Tile_Vec_Multi_Single_Pat
: Pat<(intrinsic imm_ty:$tile, vt:$Zn1, vt:$Zn2, vt:$Zm1, vt:$Zm2),
(!cast(name # _PSEUDO) $tile, (REG_SEQUENCE ZPR2Mul2,
vt:$Zn1, zsub0, vt:$Zn2, zsub1), (REG_SEQUENCE ZPR2Mul2, vt:$Zm1, zsub0,
vt:$Zm2
@@ -3593,6 +3578,25 @@ class sme_tmopa_32b opc, RegisterOperand zn_ty,
RegisterOperand zm_ty, s
let Constraints = "$ZAda = $_ZAda";
}
+multiclass sme_tmopa_16b opc, RegisterOperand zn_ty, RegisterOperand
zm_ty, ValueType vt, string mnemonic, string intrinsic> {
+ def NAME
@@ -3107,6 +3107,23 @@ let TargetPrefix = "aarch64" in {
}
}
+ class SME_OuterProduct_TMOP_Intrinsic
+ : DefaultAttrsIntrinsic<[],
+ [llvm_i32_ty,
+ llvm_anyvector_ty,
+ LLVMMatchType<0>,
+ LLVMMatchType<0>,
+ llvm_nxv16i8
@@ -281,6 +289,12 @@ class SME2_ZA_Tile_Vec_Multi_Single_Pat
: Pat<(intrinsic imm_ty:$tile, vt:$Zn1, vt:$Zn2, vt:$Zm1, vt:$Zm2),
(!cast(name # _PSEUDO) $tile, (REG_SEQUENCE ZPR2Mul2,
vt:$Zn1, zsub0, vt:$Zn2, zsub1), (REG_SEQUENCE ZPR2Mul2, vt:$Zm1, zsub0,
vt:$Zm2
https://github.com/jthackray updated
https://github.com/llvm/llvm-project/pull/135145
>From c0bff6fe1d1630ba93361ac29bca798810a64178 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray
Date: Mon, 3 Mar 2025 16:16:46 +
Subject: [PATCH 1/5] [AArch64][clang][llvm] Add structured sparsity outer
p
@@ -0,0 +1,191 @@
+// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -target-feature +sme2
-target-feature +bf16 -target-feature +sme-f16f16 -target-feature +sme-b16b16
-verify -emit-llvm -o - %s
+
+// REQUIRES: aarch64-registered-target
+
+#include
+
+void test_features(
https://github.com/jthackray deleted
https://github.com/llvm/llvm-project/pull/135145
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jthackray approved this pull request.
Thanks for this fix. LGTM.
https://github.com/llvm/llvm-project/pull/133619
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jthackray approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/134368
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,105 @@
+//===-- CGBuiltin.h - Emit LLVM Code for builtins
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
https://github.com/jthackray created
https://github.com/llvm/llvm-project/pull/132495
None
>From 7f1f78ad0c39a8bd1b6c8e4cc7001f6282167d3c Mon Sep 17 00:00:00 2001
From: Jonathan Thackray
Date: Fri, 21 Mar 2025 23:56:42 +
Subject: [PATCH] [NFC][clang] Remove superfluous header files after r
@@ -0,0 +1,107 @@
+//===-- CGBuiltin.h - Emit LLVM Code for builtins
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -289,6 +289,105 @@ multiclass ZAFPOuterProd {
defm SVMOPA : ZAFPOuterProd<"mopa">;
defm SVMOPS : ZAFPOuterProd<"mops">;
+
+// SME2 - FMOP4A, FMOP4S, BFMOP4A, BFMOP4S
+
+multiclass MOP4
checks>
@@ -289,6 +289,105 @@ multiclass ZAFPOuterProd {
defm SVMOPA : ZAFPOuterProd<"mopa">;
defm SVMOPS : ZAFPOuterProd<"mops">;
+
+// SME2 - FMOP4A, FMOP4S, BFMOP4A, BFMOP4S
+
+multiclass MOP4
checks>
jthackray wrote:
> How'd you manage to find the right ones? IMO we should be using
> include-what-you-use on these to make sure we get it right (if you have
> already, disregard this).
Yes, I used iwyu.
> Also, can you share before-split/after-split/after-this build time
> benchmarks? Does
https://github.com/jthackray approved this pull request.
Thanks for creating this PR, LGTM (I wasn't able to do it earlier as one of my
kids was ill, so away from laptop)
https://github.com/llvm/llvm-project/pull/133251
___
cfe-commits mailing list
cf
@@ -3593,6 +3578,25 @@ class sme_tmopa_32b opc, RegisterOperand zn_ty,
RegisterOperand zm_ty, s
let Constraints = "$ZAda = $_ZAda";
}
+multiclass sme_tmopa_16b opc, RegisterOperand zn_ty, RegisterOperand
zm_ty, ValueType vt, string mnemonic, string intrinsic> {
+ def NAME
@@ -3107,6 +3107,23 @@ let TargetPrefix = "aarch64" in {
}
}
+ class SME_OuterProduct_TMOP_Intrinsic
+ : DefaultAttrsIntrinsic<[],
+ [llvm_i32_ty,
+ llvm_anyvector_ty,
+ LLVMMatchType<0>,
+ LLVMMatchType<0>,
+ llvm_nxv16i8
@@ -3593,6 +3578,25 @@ class sme_tmopa_32b opc, RegisterOperand zn_ty,
RegisterOperand zm_ty, s
let Constraints = "$ZAda = $_ZAda";
}
+multiclass sme_tmopa_16b opc, RegisterOperand zn_ty, RegisterOperand
zm_ty, ValueType vt, string mnemonic, string intrinsic> {
+ def NAME
@@ -3593,6 +3578,31 @@ class sme_tmopa_32b opc, RegisterOperand zn_ty,
RegisterOperand zm_ty, s
let Constraints = "$ZAda = $_ZAda";
}
+multiclass sme_tmopa_16b opc, RegisterOperand zn_ty, RegisterOperand
zm_ty, ValueType vt, string mnemonic, SDPatternOperator intrinsic,
l
301 - 334 of 334 matches
Mail list logo