Lines Matching +full:vector +full:- +full:matrix
1 ; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s
5 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
6 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
7 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
8 ; CHECK-NEXT: immarg operand has non-immediate parameter
9 ; CHECK-NEXT: i32 %arg
10 ; CHECK-NEXT: %result.3 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %result.2, i3…
11 ; CHECK-NEXT: immarg operand has non-immediate parameter
12 ; CHECK-NEXT: i32 %arg
13 ; CHECK-NEXT: %result.4 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %result.3, i3…
14 %result.0 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %m, i32 0, i32 0)
15 %result.1 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %result.0, i32 3, i32 2)
16 %result.2 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %result.1, i32 2, i32 1)
17 %result.3 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %result.2, i32 %arg, i32 2)
18 %result.4 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %result.3, i32 2, i32 %arg)
23 ; CHECK-NEXT: First argument of a matrix operation does not match specified shape!
24 ; CHECK-NEXT: First argument of a matrix operation does not match specified shape!
25 ; CHECK-NEXT: Second argument of a matrix operation does not match specified shape!
26 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
27 ; CHECK-NEXT: immarg operand has non-immediate parameter
28 ; CHECK-NEXT: i32 %arg
29 ; CHECK-NEXT: %result.4 = call <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4f32(<4 x float> %r…
30 …%result.0 = call <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4f32(<4 x float> %m, <4 x float> %…
31 …%result.1 = call <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4f32(<4 x float> %result.0, <4 x f…
32 …%result.2 = call <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4f32(<4 x float> %result.1, <4 x f…
33 …%result.3 = call <3 x float> @llvm.matrix.multiply.v3f32.v4f32.v4f32(<4 x float> %result.2, <4 x f…
34 …%result.4 = call <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4f32(<4 x float> %result.2, <4 x f…
39 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
40 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
41 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
42 ; CHECK-NEXT: immarg operand has non-immediate parameter
43 ; CHECK-NEXT: i32 %arg
44 ; CHECK-NEXT: %result.3 = call <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr %n, i64 2…
45 …%result.0 = call <4 x float> @llvm.matrix.column.major.load.v4f32.i64(ptr %m, i64 0, i1 false, i32…
46 …%result.1 = call <4 x float> @llvm.matrix.column.major.load.v4f32.i64(ptr %m, i64 2, i1 false, i32…
47 …%result.2 = call <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr %n, i64 2, i1 true, i32 …
48 …%result.3 = call <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr %n, i64 2, i1 true, i32 …
53 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
54 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
55 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
56 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector!
57 …call void @llvm.matrix.column.major.store.v4f32.i64(<4 x float> zeroinitializer, ptr %m, i64 0, i1…
58 …call void @llvm.matrix.column.major.store.v4f32.i64(<4 x float> zeroinitializer, ptr %m, i64 2, i1…
59 …call void @llvm.matrix.column.major.store.v6f32.i64(<6 x float> zeroinitializer, ptr %n, i64 2, i1…
60 …call void @llvm.matrix.column.major.store.v6f32.i64(<6 x float> zeroinitializer, ptr %n, i64 %arg,…
66 ; CHECK-NEXT: Intrinsic has incorrect argument type!
67 ; CHECK-NEXT: ptr @llvm.matrix.transpose.v4f32.v4i32
68 ; CHECK-NEXT: Intrinsic has incorrect argument type!
69 ; CHECK-NEXT: ptr @llvm.matrix.transpose.v4i32.v4f32
71 %result.0 = call <4 x float> @llvm.matrix.transpose.v4f32.v4i32(<4 x i32> %ivec, i32 0, i32 0)
72 %result.1 = call <4 x i32> @llvm.matrix.transpose.v4i32.v4f32(<4 x float> %result.0, i32 3, i32 2)
78 ; CHECK-NEXT: Vector element type mismatch of the result and first operand vector!
79 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4i32.v4f32.v4f32
80 ; CHECK-NEXT: Vector element type mismatch of the result and first operand vector!
81 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4f32.v4i32.v4f32
82 ; CHECK-NEXT: Vector element type mismatch of the result and second operand vector!
83 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4f32.v4f32.v4i32
84 ; CHECK-NEXT: Vector element type mismatch of the result and first operand vector!
85 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4f32.v4i32.v4i32
87 …%result.0 = call <4 x i32> @llvm.matrix.multiply.v4i32.v4f32.v4f32(<4 x float> %fvec, <4 x float> …
88 …%result.1 = call <4 x float> @llvm.matrix.multiply.v4f32.v4i32.v4f32(<4 x i32> %result.0, <4 x flo…
89 …%result.2 = call <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4i32(<4 x float> %fvec, <4 x i32> …
90 …%result.3 = call <4 x float> @llvm.matrix.multiply.v4f32.v4i32.v4i32(<4 x i32> %ivec, <4 x i32> %i…
96 ; CHECK-NEXT: Result type must be an integer or floating-point type!
97 ; CHECK-NEXT: ptr @llvm.matrix.column.major.store.v4p0.i64
99 …call void @llvm.matrix.column.major.store.v4p0.i64(<4 x ptr> zeroinitializer, ptr %n, i64 2, i1 fa…
105 ; CHECK-NEXT: Stride must be greater or equal than the number of rows!
106 ; CHECK-NEXT: ptr @llvm.matrix.column.major.load.v4f32.i64
108 …%result.1 = call <4 x float> @llvm.matrix.column.major.load.v4f32.i64(ptr %m, i64 1, i1 false, i32…
114 ; CHECK-NEXT: Stride must be greater or equal than the number of rows!
115 ; CHECK-NEXT: ptr @llvm.matrix.column.major.store.v4f32.i64
117 …call void @llvm.matrix.column.major.store.v4f32.i64(<4 x float> zeroinitializer, ptr %m, i64 1, i1…
121 declare <4 x i32> @llvm.matrix.column.major.load.v4i32.i64(ptr, i64, i1, i32, i32)
122 declare <4 x float> @llvm.matrix.column.major.load.v4f32.p0(ptr, i64, i1, i32, i32)
123 declare <4 x float> @llvm.matrix.column.major.load.v4f32.i64(ptr, i64, i1, i32, i32)
124 declare <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr, i64, i1, i32, i32)
126 declare void @llvm.matrix.column.major.store.v4f32.i64(<4 x float>, ptr, i64, i1, i32, i32)
127 declare void @llvm.matrix.column.major.store.v6f32.i64(<6 x float>, ptr, i64, i1, i32, i32)
128 declare void @llvm.matrix.column.major.store.v4i32.vi32(<4 x i32>, ptr, i64, i1, i32, i32)
129 declare void @llvm.matrix.column.major.store.v4f32.p0(<4 x float>, ptr, i64, i1, i32, i32)
130 declare void @llvm.matrix.column.major.store.v4p0.i64(<4 x ptr>, ptr, i64, i1, i32, i32)
132 declare <4 x i32> @llvm.matrix.transpose.v4i32.v4f32(<4 x float>, i32, i32)
133 declare <4 x float> @llvm.matrix.transpose.v4f32(<4 x float>, i32, i32)
134 declare <4 x float> @llvm.matrix.transpose.v4f32.v4i32(<4 x i32>, i32, i32)
136 declare <4 x i32> @llvm.matrix.multiply.v4i32.v4f32.v4f32(<4 x float>, <4 x float>, i32, i32, i32)
137 declare <4 x float> @llvm.matrix.multiply.v4f32.v4i32.v4f32(<4 x i32>, <4 x float>, i32, i32, i32)
138 declare <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4i32(<4 x float>, <4 x i32>, i32, i32, i32)
139 declare <4 x float> @llvm.matrix.multiply.v4f32.v4i32.v4i32(<4 x i32>, <4 x i32>, i32, i32, i32)
140 declare <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4f32(<4 x float>, <4 x float>, i32, i32, i32)
141 declare <3 x float> @llvm.matrix.multiply.v3f32.v4f32.v4f32(<4 x float>, <4 x float>, i32, i32, i32)