1
1
2
- // RUN: %clang -gkey-instructions -x c++ %s -gmlt -gno-column-info -S -emit-llvm -o - -ftrivial-auto-var-init=zero \
2
+ // RUN: %clang -gkey-instructions -x c++ %s -gmlt -gno-column-info -S -emit-llvm -o - -ftrivial-auto-var-init=zero -fenable-matrix -Xclang -disable-llvm-passes \
3
3
// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank
4
4
5
- // RUN: %clang -gkey-instructions -x c %s -gmlt -gno-column-info -S -emit-llvm -o - -ftrivial-auto-var-init=zero \
5
+ // RUN: %clang -gkey-instructions -x c %s -gmlt -gno-column-info -S -emit-llvm -o - -ftrivial-auto-var-init=zero -fenable-matrix -Xclang -disable-llvm-passes \
6
6
// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank
7
7
8
+ typedef float m2x2 __attribute__((matrix_type (2 , 2 )));
9
+ m2x2 mat ;
10
+ float f4 [4 ];
11
+
8
12
void fun () {
9
13
// CHECK: %a = alloca ptr, align 8
10
14
// CHECK: %0 = alloca i8, i64 4{{.*}}, !dbg [[G1R2:!.*]]
@@ -16,9 +20,13 @@ void fun() {
16
20
// CHECK: call void @llvm.memset{{.*}}, !dbg [[G2R1:!.*]], !annotation
17
21
// CHECK: store ptr %1, ptr %b{{.*}}, !dbg [[G2R1:!.*]]
18
22
void * b = __builtin_alloca_with_align (4 , 8 );
23
+
24
+ // CHECK: call void @llvm.matrix.column.major.store.v4f32{{.*}}, !dbg [[G3R1:!.*]]
25
+ __builtin_matrix_column_major_store (mat , f4 , sizeof (float ) * 2 );
19
26
}
20
27
21
28
// CHECK: [[G1R2]] = !DILocation({{.*}}, atomGroup: 1, atomRank: 2)
22
29
// CHECK: [[G1R1]] = !DILocation({{.*}}, atomGroup: 1, atomRank: 1)
23
30
// CHECK: [[G2R2]] = !DILocation({{.*}}, atomGroup: 2, atomRank: 2)
24
31
// CHECK: [[G2R1]] = !DILocation({{.*}}, atomGroup: 2, atomRank: 1)
32
+ // CHECK: [[G3R1]] = !DILocation({{.*}}, atomGroup: 3, atomRank: 1)
0 commit comments