| /llvm-project-15.0.7/mlir/test/Dialect/SPIRV/IR/ |
| H A D | matrix-ops.mlir | 14 %result = spv.Transpose %arg0 : !spv.matrix<3 x vector<2xf32>> -> !spv.matrix<2 x vector<3xf32>> 26 … @matrix_times_matrix_1(%arg0: !spv.matrix<3 x vector<3xf32>>, %arg1: !spv.matrix<3 x vector<3xf32… 27 …trixTimesMatrix {{%.*}}, {{%.*}} : !spv.matrix<3 x vector<3xf32>>, !spv.matrix<3 x vector<3xf32>> … 28 …v.MatrixTimesMatrix %arg0, %arg1 : !spv.matrix<3 x vector<3xf32>>, !spv.matrix<3 x vector<3xf32>> … 33 … @matrix_times_matrix_2(%arg0: !spv.matrix<3 x vector<2xf32>>, %arg1: !spv.matrix<2 x vector<3xf32… 35 …v.MatrixTimesMatrix %arg0, %arg1 : !spv.matrix<3 x vector<2xf32>>, !spv.matrix<2 x vector<3xf32>> … 96 …v.MatrixTimesMatrix %arg0, %arg1 : !spv.matrix<3 x vector<2xf32>>, !spv.matrix<2 x vector<3xf32>> … 103 …v.MatrixTimesMatrix %arg0, %arg1 : !spv.matrix<3 x vector<2xf32>>, !spv.matrix<2 x vector<3xf32>> … 110 …v.MatrixTimesMatrix %arg0, %arg1 : !spv.matrix<3 x vector<2xf32>>, !spv.matrix<2 x vector<2xf32>> … 117 …v.MatrixTimesMatrix %arg0, %arg1 : !spv.matrix<3 x vector<3xf32>>, !spv.matrix<3 x vector<3xf32>> … [all …]
|
| H A D | types.mlir | 460 // CHECK: func private @matrix_type(!spv.matrix<2 x vector<2xf16>>) 461 func.func private @matrix_type(!spv.matrix<2 x vector<2xf16>>) -> () 465 // CHECK: func private @matrix_type(!spv.matrix<3 x vector<3xf32>>) 466 func.func private @matrix_type(!spv.matrix<3 x vector<3xf32>>) -> () 470 // CHECK: func private @matrix_type(!spv.matrix<4 x vector<4xf16>>) 471 func.func private @matrix_type(!spv.matrix<4 x vector<4xf16>>) -> () 475 // expected-error @+1 {{matrix is expected to have 2, 3, or 4 columns}} 480 // expected-error @+1 {{matrix is expected to have 2, 3, or 4 columns}} 511 func.func private @matrix_invalid_type(!spv.matrix< 3 x i32>) -> () 531 func.func private @matrix_size_type(!spv.matrix< x vector<3xi32>>) -> () [all …]
|
| /llvm-project-15.0.7/mlir/test/Target/SPIRV/ |
| H A D | matrix.mlir | 14 …%result = spv.MatrixTimesScalar %arg0, %arg1 : !spv.matrix<3 x vector<3xf32>>, f32 -> !spv.matrix<… 21 …%result = spv.MatrixTimesScalar %arg0, %arg1 : !spv.matrix<3 x vector<3xf16>>, f16 -> !spv.matrix<… 27 …spv.func @matrix_transpose_1(%arg0 : !spv.matrix<3 x vector<2xf32>>) -> !spv.matrix<2 x vector<3xf… 28 …// CHECK: {{%.*}} = spv.Transpose {{%.*}} : !spv.matrix<3 x vector<2xf32>> -> !spv.matrix<2 x vect… 29 %result = spv.Transpose %arg0 : !spv.matrix<3 x vector<2xf32>> -> !spv.matrix<2 x vector<3xf32>> 34 … @matrix_times_matrix_1(%arg0: !spv.matrix<3 x vector<3xf32>>, %arg1: !spv.matrix<3 x vector<3xf32… 35 …trixTimesMatrix {{%.*}}, {{%.*}} : !spv.matrix<3 x vector<3xf32>>, !spv.matrix<3 x vector<3xf32>> … 36 …v.MatrixTimesMatrix %arg0, %arg1 : !spv.matrix<3 x vector<3xf32>>, !spv.matrix<3 x vector<3xf32>> … 41 … @matrix_times_matrix_2(%arg0: !spv.matrix<3 x vector<2xf32>>, %arg1: !spv.matrix<2 x vector<3xf32… 42 …trixTimesMatrix {{%.*}}, {{%.*}} : !spv.matrix<3 x vector<2xf32>>, !spv.matrix<2 x vector<3xf32>> … [all …]
|
| /llvm-project-15.0.7/clang/test/CodeGenCXX/ |
| H A D | matrix-type.cpp | 260 matrix<int, 10, 12> m0; in test_template_deduction() 262 matrix<int, 10, 10> m1; in test_template_deduction() 264 matrix<int, 12, 10> m2; in test_template_deduction() 266 matrix<int, 12, 12> m3; in test_template_deduction() 289 matrix<int, 13, 10> m; in test_auto_t() 294 matrix<float, R + 1, C + 2> use_matrix_2(matrix<int, R, C> &m) {} in use_matrix_2() 303 matrix<float, R + R, R - 3> use_matrix_2(matrix<int, R, 10> &m1) {} in use_matrix_2() 374 matrix<int, 4, 6> m1; in test_use_matrix_2() 380 matrix<int, 13, 8> m3; in test_use_matrix_2() 381 matrix<float, 5, 3> m4; in test_use_matrix_2() [all …]
|
| /llvm-project-15.0.7/llvm/test/Verifier/ |
| H A D | matrix-intrinsics-opaque-ptrs.ll | 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! 65 ; CHECK-NEXT: ptr @llvm.matrix.transpose.v4f32.v4i32 67 ; CHECK-NEXT: ptr @llvm.matrix.transpose.v4i32.v4f32 77 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4i32.v4f32.v4f32 79 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4f32.v4i32.v4f32 81 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4f32.v4f32.v4i32 83 ; CHECK-NEXT: ptr @llvm.matrix.multiply.v4f32.v4i32.v4i32 95 ; CHECK-NEXT: ptr @llvm.matrix.column.major.store.v4p0.i64 104 ; CHECK-NEXT: ptr @llvm.matrix.column.major.load.v4f32.i64 [all …]
|
| H A D | matrix-intrinsics.ll | 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! 23 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! 24 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! 25 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! 37 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! 38 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! 39 ; CHECK-NEXT: Result of a matrix operation does not fit in the returned vector! 155 declare <4 x float> @llvm.matrix.transpose.v4f32(<4 x float>, i32, i32) [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/LowerMatrixIntrinsics/ |
| H A D | remarks.ll | 27 …%t = call <4 x double> @llvm.matrix.multiply(<12 x double> %A.matrix, <12 x double> %B.matrix, i32… 37 …%A.matrix = call <9 x double> @llvm.matrix.column.major.load(double* %A, i64 5, i1 false, i32 3, i… 48 …%A.matrix = call <9 x double> @llvm.matrix.column.major.load(double* %A, i64 5, i1 false, i32 3, i… 64 …%A.matrix = call <9 x double> @llvm.matrix.column.major.load(double* %A, i64 5, i1 false, i32 3, i… 65 %R1.matrix = fadd <9 x double> %A.matrix, %A.matrix, !dbg !32 66 %R2.matrix = fmul <9 x double> %R1.matrix, %A.matrix, !dbg !32 89 %R1.matrix = fadd <9 x double> %A.matrix, %A.matrix, !dbg !34 90 %R2.matrix = fmul <9 x double> %R1.matrix, %A.matrix, !dbg !34 95 …%Mult.matrix = call <4 x double> @llvm.matrix.multiply(<12 x double> %C.matrix, <12 x double> %D.m… 112 %R1.matrix = fadd <9 x double> %A.matrix, %A.matrix, !dbg !36 [all …]
|
| H A D | remarks-shared-subtrees.ll | 5 ; RUN: opt -passes=lower-matrix-intrinsics -pass-remarks-output=%t -pass-remarks=lower-matrix-intri… 9 ; YAML-NEXT: Pass: lower-matrix-intrinsics 10 ; YAML-NEXT: Name: matrix-lowered 39 ; YAML-NEXT: Pass: lower-matrix-intrinsics 40 ; YAML-NEXT: Name: matrix-lowered 96 …%tmp17 = tail call <8 x double> @llvm.matrix.transpose.v8f64(<8 x double> %shared.load, i32 2, i32… 105 declare <8 x double> @llvm.matrix.transpose.v8f64(<8 x double>, i32 immarg, i32 immarg) 106 declare <8 x double> @llvm.matrix.column.major.load.v8f64.p0f64(double*, i64, i1 immarg, i32 immarg… 107 declare <30 x double> @llvm.matrix.column.major.load.v30f64.p0f64(double*, i64, i1 immarg, i32 imma… 108 declare <60 x double> @llvm.matrix.column.major.load.v60f64.p0f64(double*, i64, i1 immarg, i32 imma… [all …]
|
| H A D | multiply-minimal.ll | 2 ; RUN: opt -lower-matrix-intrinsics-minimal -fuse-matrix-tile-size=2 -matrix-allow-contract -force-… 3 …-passes='lower-matrix-intrinsics<minimal>,instcombine,verify<domtree>' -fuse-matrix-tile-size=2 -m… 5 ; Test for the minimal version of the matrix lowering pass, which does not 60 …%c = call <4 x double> @llvm.matrix.multiply(<8 x double> %a, <8 x double> %b, i32 2, i32 4, i32 2) 66 declare <4 x double> @llvm.matrix.multiply(<8 x double>, <8 x double>, i32, i32, i32)
|
| H A D | strided-store-double.ll | 2 ; RUN: opt -passes='lower-matrix-intrinsics' -S < %s | FileCheck %s 15 …call void @llvm.matrix.column.major.store.v6f64.i64(<6 x double> %in, double* %out, i64 5, i1 fals… 33 …call void @llvm.matrix.column.major.store.v6f64.i64(<6 x double> %in, double* %out, i64 %stride, i… 51 …call void @llvm.matrix.column.major.store.v6f64.i32(<6 x double> %in, double* %out, i32 %stride, i… 78 …call void @llvm.matrix.column.major.store.v10f64.i64(<10 x double> %in, double* %out, i64 4, i1 fa… 82 declare void @llvm.matrix.column.major.store.v6f64.i64(<6 x double>, double*, i64, i1, i32, i32) 83 declare void @llvm.matrix.column.major.store.v6f64.i32(<6 x double>, double*, i32, i1, i32, i32) 84 declare void @llvm.matrix.column.major.store.v10f64.i64(<10 x double>, double*, i64, i1, i32, i32) 86 ; CHECK: declare void @llvm.matrix.column.major.store.v6f64.i64(<6 x double>, double* nocapture wri… 87 ; CHECK: declare void @llvm.matrix.column.major.store.v10f64.i64(<10 x double>, double* nocapture w…
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/SPIRV/IR/ |
| H A D | SPIRVMatrixOps.td | 37 matrix-times-matrix-op ::= ssa-id `=` `spv.MatrixTimesMatrix` ssa-use, 38 ssa-use `:` matrix-type `,` matrix-type `->` matrix-type 45 !spv.matrix<4 x vector<3xf32>>, !spv.matrix<3 x vector<4xf32>> -> 46 !spv.matrix<4 x vector<4xf32>> 89 ssa-use `:` matrix-type `,` float-type `->` matrix-type 98 !spv.matrix<3 x vector<3xf32>>, f32 -> !spv.matrix<3 x vector<3xf32>> 111 SPV_AnyMatrix:$matrix, 152 matrix-type 159 %0 = spv.Transpose %matrix: !spv.matrix<2 x vector<3xf32>> -> 160 !spv.matrix<3 x vector<2xf32>> [all …]
|
| H A D | SPIRVCooperativeMatrixOps.td | 28 Type is a cooperative matrix type. 67 Load a cooperative matrix through a pointer. 70 matrix type. 107 cooperative-matrix-type 153 A is a cooperative matrix with M rows and K columns. 155 B is a cooperative matrix with K rows and N columns. 157 C is a cooperative matrix with M rows and N columns. 160 This is referred to as an MxNxK matrix multiply. 177 a-cooperative-matrix-type, 178 b-cooperative-matrix-type -> [all …]
|
| /llvm-project-15.0.7/clang/test/SemaTemplate/ |
| H A D | matrix-type.cpp | 37 void use_matrix(matrix<T, R, 10> &m) {} in use_matrix() 45 matrix<float, 10, 10> m; in test_ambigous_deduction1() 55 matrix<float, 10, 10> m; in test_type_conflict() 61 matrix<float, R + 1, C + 2> use_matrix_2(matrix<int, R, C> &m) {} in use_matrix_2() 66 void use_matrix_2(matrix<int, R + 2, C / 2> &m1, matrix<float, R, C> &m2) {} in use_matrix_2() 71 void use_matrix_2(matrix<T, R + C, C> &m1, matrix<T, R, C - R> &m2) {} in use_matrix_2() 80 matrix<int, 5, 6> m1; in test_use_matrix_2() 84 matrix<int, 4, 5> m2; in test_use_matrix_2() 88 matrix<float, 3, 11> m3; in test_use_matrix_2() 92 matrix<int, 3, 4> m4; in test_use_matrix_2() [all …]
|
| /llvm-project-15.0.7/clang/docs/ |
| H A D | MatrixTypes.rst | 47 of the *typedef* must be a valid matrix element type. The 66 A value of matrix type can be converted to another matrix type if the number of 73 matrix where all elements are the converted original value. 88 convert the real type operand to the matrix type 106 the matrix. 133 type, and the other is of matrix type or real type; or 140 * ``M1`` and ``M2`` shall be of the same matrix type. 208 ``M2 __builtin_matrix_transpose(M1 matrix)`` 224 Res[C][R] = matrix[R][C]; 238 **Returns**: A matrix ``Res`` equivalent to: [all …]
|
| /llvm-project-15.0.7/mlir/test/Integration/Dialect/Vector/CPU/ |
| H A D | test-contraction.mlir | 243 // Contraction: matrix-matrix A x B 252 // matrix x matrix: 272 // matrix x matrix: 277 // Contraction: matrix-trans-matrix A^T x B 286 // matrix x matrix: 291 // Contraction: matrix-matrix-trans A x B^T 300 // matrix x matrix: 314 // matrix x matrix: 319 // Contraction: matrix-matrix-then-trans (A x B)^T 328 // matrix x matrix: [all …]
|
| H A D | test-matrix-multiply-col.mlir | 3 // RUN: -O0 -enable-matrix -matrix-allow-contract -matrix-default-layout=column-major \ 35 // Performs matrix x matrix, interpreting the vectors as 48 // matrix x matrix:
|
| H A D | test-matrix-multiply-row.mlir | 3 // RUN: -O0 -enable-matrix -matrix-allow-contract -matrix-default-layout=row-major \ 35 // Performs matrix x matrix, interpreting the vectors as 48 // matrix x matrix:
|
| /llvm-project-15.0.7/llvm/test/Analysis/CostModel/PowerPC/ |
| H A D | matrix.ll | 6 ; This test checks we don't crash on certain matrix operations, more than 9 define void @matrix() { 10 ; CHECK-LABEL: 'matrix' 11 … an estimated cost of 1 for instruction: %matrix1 = call <1 x i32> @llvm.matrix.column.major.load.… 12 …und an estimated cost of 452 for instruction: %0 = call <10 x i32> @llvm.matrix.multiply.v10i32.v1… 16 …%matrix1 = call <1 x i32> @llvm.matrix.column.major.load.v1i32.i64(i32* nonnull align 4 undef, i64… 17 …%0 = call <10 x i32> @llvm.matrix.multiply.v10i32.v10i32.v1i32(<10 x i32> undef, <1 x i32> %matrix… 21 declare <1 x i32> @llvm.matrix.column.major.load.v1i32.i64(i32* nocapture, i64, i1 immarg, i32 imma… 22 declare <10 x i32> @llvm.matrix.multiply.v10i32.v10i32.v1i32(<10 x i32>, <1 x i32>, i32 immarg, i32…
|
| /llvm-project-15.0.7/llvm/utils/unittest/googlemock/src/ |
| H A D | gmock-matchers.cc | 372 const MatchMatrix& matrix, MatchResultListener* listener) const { in VerifyMatchMatrix() argument 374 ::std::vector<char> element_matched(matrix.LhsSize(), 0); in VerifyMatchMatrix() 375 ::std::vector<char> matcher_matched(matrix.RhsSize(), 0); in VerifyMatchMatrix() 377 for (size_t ilhs = 0; ilhs < matrix.LhsSize(); ilhs++) { in VerifyMatchMatrix() 378 for (size_t irhs = 0; irhs < matrix.RhsSize(); irhs++) { in VerifyMatchMatrix() 379 char matched = matrix.HasEdge(ilhs, irhs); in VerifyMatchMatrix() 422 ElementMatcherPairs matches = FindMaxBipartiteMatching(matrix); in FindPairing() 426 max_flow < matrix.RhsSize()) { in FindPairing() 430 << max_flow << " of " << matrix.RhsSize() in FindPairing() 437 max_flow < matrix.LhsSize()) { in FindPairing() [all …]
|
| /llvm-project-15.0.7/mlir/test/Integration/Dialect/SparseTensor/CPU/ |
| H A D | sparse_sampled_mm_fusion.mlir | 49 // A kernel that computes a direct sampled matrix matrix multiplication 70 // A kernel that computes an unfused sampled matrix matrix multiplication 76 // Perform dense-dense matrix matrix multiplication. 86 // Sample the result with elements-wise multiplication with sparse matrix. 98 // A kernel that computes a direct sampled matrix matrix multiplication 119 // A kernel that computes an unfused sampled matrix matrix multiplication 126 // Perform dense-dense matrix matrix multiplication. 136 // Sample the result with elements-wise multiplication with sparse matrix.
|
| /llvm-project-15.0.7/flang/test/Evaluate/ |
| H A D | folding26.f90 | 4 integer, parameter :: matrix(0:1,0:2) = reshape([1,2,3,4,5,6],shape(matrix)) variable 5 logical, parameter :: test_transpose_1 = all(transpose(matrix) == reshape([1,3,5,2,4,6],[3,2]))
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/ArmSVE/ |
| H A D | ArmSVE.td | 134 let summary = "Matrix-matrix multiply and accumulate op"; 136 SMMLA: Signed integer matrix multiply-accumulate. 141 matrix of 32-bit integers, the second input containing a row-by-row 2×8 142 matrix of 8-bit integers, and the third input containing a column-by-column 143 8×2 matrix of 8-bit integers. For each quadword, they multiply the second 144 input matrix by the third input matrix using natural arithmetic and then add 197 let summary = "Matrix-matrix multiply and accumulate op"; 199 UMMLA: Unsigned integer matrix multiply-accumulate. 204 matrix of 32-bit integers, the second input containing a row-by-row 2×8 206 8×2 matrix of 8-bit integers. For each quadword, they multiply the second [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Analysis/Presburger/ |
| H A D | LinearTransform.h | 44 return matrix.preMultiplyWithRow(rowVec); in preMultiplyWithRow() 51 return matrix.postMultiplyWithColumn(colVec); in postMultiplyWithColumn() 55 Matrix matrix;
|
| /llvm-project-15.0.7/mlir/unittests/Analysis/Presburger/ |
| H A D | Utils.h | 54 ArrayRef<SmallVector<int64_t, 8>> matrix) { in makeMatrix() argument 56 assert(matrix.size() == numRow); in makeMatrix() 58 assert(matrix[i].size() == numColumns && in makeMatrix() 61 results(i, j) = matrix[i][j]; in makeMatrix()
|
| /llvm-project-15.0.7/libc/AOR_v20.02/math/tools/ |
| H A D | remez.jl | 370 matrix = array2d(BigFloat, n+d+1, n+d+1) 377 matrix[row, 1+j] = sums[1+i+j, 1] 380 matrix[row, 1+n+j] = -sums[1+i+j, 2] 389 matrix[row, 1+j] = sums[1+i+j, 2] 401 all_coeffs = matrix \ vector 640 matrix = array2d(BigFloat, n+2, n+2) 646 matrix[i,1+j] = x^j 650 matrix[i, n+2] = currsign / w(x,y) 657 outvector = matrix \ vector 702 matrix[i,1+j] = x^j [all …]
|