Lines Matching +full:matrix +full:- +full:matrix +full:- +full:transpose
1 ; REQUIRES: aarch64-registered-target
5 ; RUN: opt -passes=lower-matrix-intrinsics -pass-remarks=lower-matrix-intrinsics -mtriple=arm64-app…
7 ; Test the propagation of matrix expressions along to inlined-at chain. The IR
11 ; matrix.h
13 ; struct Matrix {
21 ; Matrix<Ty, R, C> add(Matrix<Ty, R, C> M1, Matrix<Ty, R, C> M2) {
22 ; Matrix<Ty, R, C> Result;
29 ; Matrix<Ty, R, C> load(Ty *Ptr) {
30 ; Matrix<Ty, R, C> Result;
31 ; Result.value = *reinterpret_cast <typename Matrix<Ty, R, C>::matrix_t *>(Ptr);
37 ; void store(Matrix<Ty, R, C> M1, Ty *Ptr) {
47 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
48 target triple = "aarch64-apple-ios"
50 ; CHECK-LABEL: remark: load.h:41:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed tran…
51 ; CHECK-NEXT: load(addr %A)
53 ; CHECK-LABEL: remark: load.h:41:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed tran…
54 ; CHECK-NEXT: column.major.load.3x5.double(addr %B, 5)
56 ; CHECK-LABEL: remark: load.h:41:11: Lowered with 0 stores, 1 loads, 0 compute ops, 0 exposed trans…
57 ; CHECK-NEXT: load(addr %D)
59 ; CHECK-LABEL: remark: assign.h:32:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed tr…
60 ; CHECK-NEXT: load(addr %A)
62 ; CHECK-LABEL: remark: assign.h:32:43: Lowered with 0 stores, 10 loads, 0 compute ops, 0 exposed tr…
63 ; CHECK-NEXT: column.major.load.3x5.double(addr %B, 5)
65 ; CHECK-LABEL: remark: toplevel.c:410:0: Lowered with 10 stores, 20 loads, 10 compute ops, 0 expose…
66 ; CHECK-NEXT: store(
67 ; CHECK-NEXT: fadd(
68 ; CHECK-NEXT: load(addr %A),
69 ; CHECK-NEXT: column.major.load.3x5.double(addr %B, 5)),
70 ; CHECK-NEXT: addr %C)
72 ; CHECK-LABEL: remark: toplevel.c:510:0: Lowered with 2 stores, 1 loads, 4 compute ops, 1 exposed t…
73 ; CHECK-NEXT: store(
74 ; CHECK-NEXT: transpose.2x1.float(load(addr %D)),
75 ; CHECK-NEXT: addr %D)
77 ; CHECK-LABEL: remark: add.h:66:11: Lowered with 0 stores, 0 loads, 10 compute ops, 0 exposed trans…
78 ; CHECK-NEXT: fadd(
79 ; CHECK-NEXT: addr %A,
80 ; CHECK-NEXT: scalar)
82 ; CHECK-LABEL: remark: store.h:10:11: Lowered with 10 stores, 0 loads, 0 compute ops, 0 exposed tra…
83 ; CHECK-NEXT: store(
84 ; CHECK-NEXT: scalar,
85 ; CHECK-NEXT: addr %C)
87 ; CHECK-LABEL: remark: store.h:66:11: Lowered with 2 stores, 0 loads, 0 compute ops, 0 exposed tran…
88 ; CHECK-NEXT: store(
89 ; CHECK-NEXT: scalar,
90 ; CHECK-NEXT: addr %D)
92 ; CHECK-LABEL: remark: transpose.h:13:11: Lowered with 0 stores, 0 loads, 4 compute ops, 1 exposed …
93 ; CHECK-NEXT: transpose.2x1.float(addr %D)
98 …%b = call <15 x double> @llvm.matrix.column.major.load(ptr %B, i64 5, i1 false, i32 3, i32 5), !db…
103 %t1 = call <2 x float> @llvm.matrix.transpose(<2 x float> %load, i32 2, i32 1), !dbg !106
108 declare <15 x double> @llvm.matrix.column.major.load(ptr, i64, i1, i32, i32)
109 declare <2 x float> @llvm.matrix.transpose(<2 x float>, i32, i32)
131 !24 = !DIFile(filename: "transpose.h", directory: "/test")
132 !25 = distinct !DISubprogram(name: "transpose", scope: !1, file: !24, line: 1, type: !6, isLocal: f…