================
@@ -0,0 +1,113 @@
+// RUN: %clang_cc1 %s -flax-vector-conversions=none -ffreestanding
-triple=x86_64-unknown-unknown \
+// RUN: -target-feature +acev1 -target-feature +avx512f \
+// RUN: -emit-llvm -o - -Werror -pedantic | FileCheck %s
+
+// Tests ACE v1 tile movement operations (ZMM <-> Tile row/col)
+// Note: ACE v1 does not have TILELOADD/TILESTORED - uses
TILEMOVROW/TILEMOVCOL for data movement
+
+#include <immintrin.h>
+
+// Test tile setrow - write ZMM to tile row (ACE-specific)
+void test_tile_ace_setrow(__acetile dst, __m512i src) {
+ // CHECK-LABEL: @test_tile_ace_setrow
+ // CHECK: call x86_amx @llvm.x86.tilesetrow.internal
+ __tile_ace_setrow(&dst, src, 0);
+}
+
+// Test tile setrow with different row indices
+void test_tile_ace_setrow_indices(__acetile dst, __m512i src) {
+ // CHECK-LABEL: @test_tile_ace_setrow_indices
+ // CHECK: call x86_amx @llvm.x86.tilesetrow.internal
+ // CHECK: call x86_amx @llvm.x86.tilesetrow.internal
+ // CHECK: call x86_amx @llvm.x86.tilesetrow.internal
+ __tile_ace_setrow(&dst, src, 0);
+ __tile_ace_setrow(&dst, src, 8);
+ __tile_ace_setrow(&dst, src, 15);
----------------
mahesh-attarde wrote:
setrow for 8 and 15 is not interesting here.
Same applies to all other occurrences.
https://github.com/llvm/llvm-project/pull/208408
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits