/llvm-project/mlir/test/Dialect/SPIRV/IR/ |
H A D | matrix-ops.mlir | 5 spirv.func @matrix_times_scalar_1(%arg0 : !spirv.matrix<3 x vector<3xf32>>, %arg1 : f32) -> !spirv.matrix<3 x vector<3xf32>> "None" { 6 // CHECK: {{%.*}} = spirv.MatrixTimesScalar {{%.*}}, {{%.*}} : !spirv.matrix<3 x vector<3xf32>>, f32 7 %result = spirv.MatrixTimesScalar %arg0, %arg1 : !spirv.matrix<3 x vector<3xf32>>, f32 8 spirv.ReturnValue %result : !spirv.matrix<3 x vector<3xf32>> 19 spirv.func @matrix_transpose_1(%arg0 : !spirv.matrix<3 x vector<2xf32>>) -> !spirv.matrix<2 x vector<3xf32>> "None" { 20 // CHECK: {{%.*}} = spirv.Transpose {{%.*}} : !spirv.matrix<3 x vector<2xf32>> -> !spirv.matrix<2 x vector<3xf32>> 21 %result = spirv.Transpose %arg0 : !spirv.matrix< [all...] |
H A D | types.mlir | 292 // CHECK: func private @struct_type_with_matrix_1(!spirv.struct<(!spirv.matrix<3 x vector<3xf32>> [… 293 func.func private @struct_type_with_matrix_1(!spirv.struct<(!spirv.matrix<3 x vector<3xf32>> [0, Co… 295 // CHECK: func private @struct_type_with_matrix_2(!spirv.struct<(!spirv.matrix<3 x vector<3xf32>> [… 296 func.func private @struct_type_with_matrix_2(!spirv.struct<(!spirv.matrix<3 x vector<3xf32>> [0, Ro… 354 func.func private @struct_type_missing_comma(!spirv.struct<(!spirv.matrix<3 x vector<3xf32>> [0, Ro… 359 func.func private @struct_missing_member_decorator_value(!spirv.struct<(!spirv.matrix<3 x vector<3x… 485 // CHECK: func private @matrix_type(!spirv.matrix<2 x vector<2xf16>>) 486 func.func private @matrix_type(!spirv.matrix<2 x vector<2xf16>>) -> () 490 // CHECK: func private @matrix_type(!spirv.matrix<3 x vector<3xf32>>) 491 func.func private @matrix_type(!spirv.matrix<3 x vector<3xf32>>) -> () [all …]
|
/llvm-project/mlir/test/Target/SPIRV/ |
H A D | matrix.mlir | 5 spirv.func @matrix_access_chain(%arg0 : !spirv.ptr<!spirv.matrix<3 x vector<3xf32>>, Function>, %arg1 : i32) -> !spirv.ptr<vector<3xf32>, Function> "None" { 6 // CHECK: {{%.*}} = spirv.AccessChain {{%.*}}[{{%.*}}] : !spirv.ptr<!spirv.matrix<3 x vector<3xf32>>, Function> 7 %0 = spirv.AccessChain %arg0[%arg1] : !spirv.ptr<!spirv.matrix<3 x vector<3xf32>>, Function>, i32 -> !spirv.ptr<vector<3xf32>, Function> 12 spirv.func @matrix_times_scalar_1(%arg0 : !spirv.matrix<3 x vector<3xf32>>, %arg1 : f32) -> !spirv.matrix<3 x vector<3xf32>> "None" { 13 // CHECK: {{%.*}} = spirv.MatrixTimesScalar {{%.*}}, {{%.*}} : !spirv.matrix<3 x vector<3xf32>>, f32 14 %result = spirv.MatrixTimesScalar %arg0, %arg1 : !spirv.matrix<3 x vector<3xf32>>, f32 15 spirv.ReturnValue %result : !spirv.matrix<3 x vector<3xf32>> 19 spirv.func @matrix_times_scalar_2(%arg0 : !spirv.matrix<3 x vector<3xf16>>, %arg1 : f16) -> !spirv.matrix< [all...] |
/llvm-project/clang/test/CodeGenCXX/ |
H A D | matrix-type.cpp | 1 // RUN: %clang_cc1 -Wno-error=return-type -no-enable-noundef-analysis -fenable-matrix -fclang-abi-compat=latest -triple x86_64-apple-darwin %s -emit-llvm -disable-llvm-passes -o - -std=c++17 | FileCheck %s 163 using matrix = T __attribute__((matrix_type(R, C))); typedef 169 selector<0> use_matrix(matrix<T, R, C> &m) {} in use_matrix() 172 selector<1> use_matrix(matrix<T, R, 10> &m) {} in use_matrix() 175 selector<2> use_matrix(matrix<T, 10, 10> &m) {} in use_matrix() 178 selector<3> use_matrix(matrix<T, 10, C> &m) {} in use_matrix() 181 selector<4> use_matrix(matrix<float, R, C> &m) {} in use_matrix() 244 matrix<int, 10, 12> m0; in test_template_deduction() 246 matrix<int, 10, 10> m1; in test_template_deduction() 248 matrix<in in test_template_deduction() [all...] |
/llvm-project/llvm/test/Verifier/ |
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! 10 ; CHECK-NEXT: %result.3 = call <4 x float> @llvm.matrix.transpose.v4f32(<4 x float> %result.2, i3… 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) [all …]
|
/llvm-project/llvm/test/Transforms/LowerMatrixIntrinsics/ |
H A D | remarks.ll | 5 ; RUN: opt -passes=lower-matrix-intrinsics -pass-remarks=lower-matrix-intrinsics -mtriple=arm64-app… 13 …%t = call <12 x double> @llvm.matrix.transpose.v12f64.v12f64(<12 x double> %load, i32 2, i32 6), !… 25 %A.matrix = load <12 x double>, ptr %A, !dbg !26 26 %B.matrix = load <12 x double>, ptr %B, !dbg !26 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(ptr %A, i64 5, i1 false, i32 3, i32 3… 38 store <9 x double> %A.matrix, ptr %B, !dbg !28 48 …%A.matrix = call <9 x double> @llvm.matrix.column.major.load(ptr %A, i64 5, i1 false, i32 3, i32 3… 49 …call void @llvm.matrix.column.major.store(<9 x double> %A.matrix, ptr %B, i64 10, i1 false, i32 3,… 64 …%A.matrix = call <9 x double> @llvm.matrix.column.major.load(ptr %A, i64 5, i1 false, i32 3, i32 3… [all …]
|
H A D | transpose-opts-lifting.ll | 1 ; RUN: opt -p lower-matrix-intrinsics -matrix-print-after-transpose-opt -disable-output -S %s 2>&1 | FileCheck %s 12 ; CHECK-NEXT: [[T:%.+]] = call <6 x double> @llvm.matrix.transpose.v6f64(<6 x double> [[A]], i32 3, i32 2) 16 %a.t = call <6 x double> @llvm.matrix.transpose.v6f64(<6 x double> %a, i32 3, i32 2) 17 %b.t = call <6 x double> @llvm.matrix.transpose.v6f64(<6 x double> %b, i32 3, i32 2) 28 ; CHECK-NEXT: [[T:%.+]] = call <6 x double> @llvm.matrix.transpose.v6f64(<6 x double> [[ADD]], i32 3, i32 2) 34 %a.t = call <6 x double> @llvm.matrix.transpose.v6f64(<6 x double> %a, i32 3, i32 2) 35 %b.t = call <6 x double> @llvm.matrix.transpose.v6f64(<6 x double> %b, i32 3, i32 2) 44 ; CHECK-NEXT: [[T:%.+]] = call <6 x double> @llvm.matrix.transpose.v6f64(<6 x double> [[A]], i32 1, i32 6) 48 %a.t = call <6 x double> @llvm.matrix [all...] |
H A D | after-transpose-opts.ll | 4 ; RUN: opt -passes='lower-matrix-intrinsics' -matrix-print-after-transpose-opt -disable-output %s 2… 16 ; CHECK-NEXT: [[AT:%.*]] = call <9 x double> @llvm.matrix.transpose.v9f64(<9 x double> [[A]], i3… 17 ; CHECK-NEXT: [[MUL:%.*]] = call <9 x double> @llvm.matrix.multiply.v9f64.v9f64.v9f64(<9 x doubl… 25 %at = call <9 x double> @llvm.matrix.transpose.v9f64.v9f64(<9 x double> %a, i32 3, i32 3) 26 …%mul = call <9 x double> @llvm.matrix.multiply.v9f64.v9f64.v9f64(<9 x double> %splat, <9 x double>… 38 ; CHECK-NEXT: [[A_T:%.*]] = call <9 x double> @llvm.matrix.transpose.v9f64(<9 x double> [[A]], i… 39 ; CHECK-NEXT: [[MMUL:%.*]] = call <9 x double> @llvm.matrix.multiply.v9f64.v9f64.v9f64(<9 x doub… 47 …%mul = call <9 x double> @llvm.matrix.multiply.v9f64.v9f64.v9f64(<9 x double> %splat, <9 x double>… 48 %t = call <9 x double> @llvm.matrix.transpose.v9f64.v9f64(<9 x double> %mul, i32 3, i32 3) 60 ; CHECK-NEXT: [[A_T:%.*]] = call <9 x double> @llvm.matrix.transpose.v9f64(<9 x double> [[A]], i… [all …]
|
H A D | shape-verification.ll | 1 ; RUN: not --crash opt -passes='lower-matrix-intrinsics' -verify-matrix-shapes=true -S %s 2>&1 | Fi… 2 ; RUN: opt -passes='lower-matrix-intrinsics' -verify-matrix-shapes=false -S %s 2>&1 | FileCheck --c… 9 …%lhs = tail call fast <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr nonnull align 4 %lh… 10 …%rhs = tail call fast <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr nonnull align 4 %rh… 11 …%result = tail call fast <1 x float> @llvm.matrix.multiply.v1f32.v6f32.v6f32(<6 x float> %lhs, <6 … 15 declare <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr nonnull align 4, i64, i1, i32, i32) 16 declare <1 x float> @llvm.matrix.multiply.v1f32.v6f32.v6f32(<6 x float>, <6 x float>, i32, i32, i32)
|
H A D | dot-product-float.ll | 3 ; RUN: opt -passes='lower-matrix-intrinsics' -mtriple=arm64-apple-iphoneos -S < %s | FileCheck %s 14 …%c = tail call fast <1 x float> @llvm.matrix.multiply.v1f32.v6f32.v6f32(<6 x float> %a, <6 x float… 18 declare <1 x float> @llvm.matrix.multiply.v1f32.v6f32.v6f32(<6 x float>, <6 x float>, i32, i32, i32) 29 …%c = tail call fast <1 x float> @llvm.matrix.multiply.v1f32.v1f32.v1f32(<1 x float> %a, <1 x float… 33 declare <1 x float> @llvm.matrix.multiply.v1f32.v1f32.v1f32(<1 x float>, <1 x float>, i32, i32, i32) 44 …%c = tail call fast <1 x float> @llvm.matrix.multiply.v1f32.v3f32.v3f32(<3 x float> %a, <3 x float… 48 declare <1 x float> @llvm.matrix.multiply.v1f32.v3f32.v3f32(<3 x float>, <3 x float>, i32, i32, i32) 61 …%lhs = tail call fast <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr nonnull align 4 %lh… 62 …%rhs = tail call fast <6 x float> @llvm.matrix.column.major.load.v6f32.i64(ptr nonnull align 4 %rh… 63 …%result = tail call fast <1 x float> @llvm.matrix.multiply.v1f32.v6f32.v6f32(<6 x float> %lhs, <6 … [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 94 …%shared.load = tail call <8 x double> @llvm.matrix.column.major.load.v8f64.p0(ptr %arg1, i64 %stri… 95 …%shared.load.2 = tail call <30 x double> @llvm.matrix.column.major.load.v30f64.p0(ptr %arg3, i64 %… 96 …%tmp17 = tail call <8 x double> @llvm.matrix.transpose.v8f64(<8 x double> %shared.load, i32 2, i32… 97 …tail call void @llvm.matrix.column.major.store.v8f64.p0(<8 x double> %tmp17, ptr %arg3, i64 10, i1… 98 …%tmp18 = tail call <60 x double> @llvm.matrix.column.major.load.v60f64.p0(ptr %arg2, i64 20, i1 fa… [all …]
|
H A D | dot-product-transpose-int.ll | 3 ; RUN: opt -passes='lower-matrix-intrinsics' -mtriple=arm64-apple-iphoneos -S < %s | FileCheck %s 14 %0 = call <4 x i32> @llvm.matrix.transpose.v4i32(<4 x i32> %a, i32 4, i32 1) 15 %1 = call <1 x i32> @llvm.matrix.multiply.v1i32.v4i32.v4i32(<4 x i32> %0, <4 x i32> %b, i32 1, i32 4, i32 1) 59 %0 = call <4 x i32> @llvm.matrix.multiply.v4i32.v4i32.v4i32(<4 x i32> %a, <4 x i32> %b, i32 2, i32 2, i32 2) 60 %1 = call <4 x i32> @llvm.matrix.transpose.v4i32(<4 x i32> %0, i32 4, i32 1) 61 %2 = call <1 x i32> @llvm.matrix.multiply.v1i32.v4i32.v4i32(<4 x i32> %1, <4 x i32> %c, i32 1, i32 4, i32 1) 65 declare <1 x i32> @llvm.matrix.multiply.v1i32.v4i32.v4i32(<4 x i32>, <4 x i32>, i32, i32, i32) 67 declare <4 x i32> @llvm.matrix.transpose.v4i32(<4 x i32>, i32 immarg, i32 immarg) 69 declare <4 x i32> @llvm.matrix.multiply.v4i32.v4i32.v4i32(<4 x i32>, <4 x i32>, i32 immarg, i32 immarg, i32 immarg) 98 %t = call <4 x i32> @llvm.matrix [all...] |
/llvm-project/clang/test/SemaTemplate/ |
H A D | matrix-type.cpp | 34 using matrix = T __attribute__((matrix_type(R, C))); typedef 37 void use_matrix(matrix<T, R, 10> &m) {} in use_matrix() 41 void use_matrix(matrix<T, 10, C> &m) {} in use_matrix() 45 matrix<float, 10, 10> m; in test_ambigous_deduction1() 51 void type_conflict(matrix<T, R, 10> &m, T x) {} in type_conflict() 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() 76 void use_matrix_3(matrix<T, R - 2, R> &m) {} in use_matrix_3() [all …]
|
/llvm-project/mlir/include/mlir/Dialect/SPIRV/IR/ |
H A D | SPIRVMatrixOps.td | 9 // This file contains matrix operations for the SPIR-V dialect. 26 LeftMatrix must be a matrix whose Column Type is the same as the Column 29 RightMatrix must be a matrix with the same Component Type as the 38 !spirv.matrix<4 x vector<3xf32>>, !spirv.matrix<3 x vector<4xf32>> -> 39 !spirv.matrix<4 x vector<4xf32>> 66 def SPIRV_MatrixTimesScalarOp : SPIRV_Op<"MatrixTimesScalar", [Pure, AllTypesMatch<["matrix", "result"]>]> { 67 let summary = "Scale a floating-point matrix."; 70 Result Type must be a matrix type with a float component type. 80 %0 = spirv.MatrixTimesScalar %matrix, [all...] |
H A D | SPIRVJointMatrixOps.td |
|
H A D | SPIRVCooperativeMatrixOps.td | 9 // This is the op definition spec of cooperative matrix multiply extension ops. 10 // We support both cooperative matrix extensions: 27 let summary = "Queries the number of cooperative matrix components"; 30 Number of components of a cooperative matrix type accessible to each 33 The type attribute must be a cooperative matrix type. 66 let summary = "Loads a cooperative matrix through a pointer"; 69 Load a cooperative matrix through a pointer. 72 matrix type. 78 MemoryLayout specifies how matrix elements are laid out in memory. It must 83 Stride further qualifies how matrix elements are laid out in memory. It must [all …]
|
/llvm-project/clang/docs/ |
H A D | MatrixTypes.rst | 23 A matrix type is a scalar type with an underlying *element type*, a constant 25 element type, rows, and columns are the same type. A value of a matrix type 33 Currently, the element type of a matrix is only permitted to be one of the 48 of the *typedef* must be a valid matrix element type. The 52 type of the *typedef* becomes a matrix type with the given dimensions and an 67 A value of matrix type can be converted to another matrix type if the number of 69 element type of the result type. The result is a matrix where each element is 72 A value of any real type (as in C23 6.2.5p14) can be converted to a matrix type 73 if it can be converted to the element type of the matrix [all...] |
/llvm-project/llvm/test/Transforms/InstCombine/ |
H A D | matrix-multiplication-negation.ll | 7 ; CHECK-NEXT: [[TMP1:%.*]] = call <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> [[A:%.*]], <3 x double> [[B:%.*]], i32 2, i32 3, i32 1) 12 %res = tail call <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> %a.neg, <3 x double> %b, i32 2, i32 3, i32 1) 20 ; CHECK-NEXT: [[TMP1:%.*]] = call fast <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> [[A:%.*]], <3 x double> [[B:%.*]], i32 2, i32 3, i32 1) 25 %res = tail call fast <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> %a.neg, <3 x double> %b, i32 2, i32 3, i32 1) 31 ; CHECK-NEXT: [[TMP1:%.*]] = call nnan <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> [[A:%.*]], <3 x double> [[B:%.*]], i32 2, i32 3, i32 1) 36 %res = tail call nnan <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> %a.neg, <3 x double> %b, i32 2, i32 3, i32 1) 42 ; CHECK-NEXT: [[TMP1:%.*]] = call nsz <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> [[A:%.*]], <3 x double> [[B:%.*]], i32 2, i32 3, i32 1) 47 %res = tail call nsz <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> %a.neg, <3 x double> %b, i32 2, i32 3, i32 1) 53 ; CHECK-NEXT: [[TMP1:%.*]] = call <2 x double> @llvm.matrix.multiply.v2f64.v6f64.v3f64(<6 x double> [[A:%.*]], <3 x double> [[B:%.*]], i32 2, i32 3, i32 1) 58 %res = tail call <2 x double> @llvm.matrix [all...] |
/llvm-project/third-party/unittest/googlemock/src/ |
H A D | gmock-matchers.cc | 372 const MatchMatrix& matrix, MatchResultListener* listener) const { in VerifyMatchMatrix() argument 373 if (matrix.LhsSize() == 0 && matrix.RhsSize() == 0) { in VerifyMatchMatrix() 378 if (matrix.LhsSize() != matrix.RhsSize()) { in VerifyMatchMatrix() 383 if (matrix.LhsSize() != 0 && listener->IsInterested()) { in VerifyMatchMatrix() 384 *listener << "which has " << Elements(matrix.LhsSize()); in VerifyMatchMatrix() 391 ::std::vector<char> element_matched(matrix.LhsSize(), 0); in VerifyMatchMatrix() 392 ::std::vector<char> matcher_matched(matrix.RhsSize(), 0); in VerifyMatchMatrix() 394 for (size_t ilhs = 0; ilhs < matrix.LhsSize(); ilhs++) { in VerifyMatchMatrix() 395 for (size_t irhs = 0; irhs < matrix.RhsSize(); irhs++) { in VerifyMatchMatrix() 396 char matched = matrix.HasEdge(ilhs, irhs); in VerifyMatchMatrix() [all …]
|
/llvm-project/mlir/test/Integration/Dialect/Vector/CPU/ |
H A D | contraction.mlir | 215 // Contraction: matrix-vector A x c 224 // matrix x vector: 229 // Contraction: matrix-trans-vector A^T x c 238 // matrix x vector: 243 // Contraction: matrix-matrix A x B 252 // matrix x matrix: 257 // Contraction: matrix-matrix [all...] |
H A D | 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:
|
H A D | 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:
|
/llvm-project/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(ptr 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(ptr nocapture, i64, i1 immarg, i32 immar… 22 declare <10 x i32> @llvm.matrix.multiply.v10i32.v10i32.v1i32(<10 x i32>, <1 x i32>, i32 immarg, i32…
|
/llvm-project/mlir/include/mlir/Dialect/ArmNeon/ |
H A D | ArmNeon.td | 137 let summary = "Matrix-matrix multiply and accumulate op"; 139 SMMLA: Signed integer matrix multiply-accumulate. 141 Signed 8-bit integer matrix multiply-accumulate. This instruction multiplies 142 the 2x8 matrix of signed 8-bit integer values in the first source vector by 143 the 8x2 matrix of signed 8-bit integer values in the second source vector. 144 The resulting 2x2 32-bit integer matrix product is destructively added to 145 the 32-bit integer matrix accumulator in the destination vector. This is 167 let summary = "Unsinged matrix-matrix multiply and accumulate op"; 169 UMMLA: Signed integer matrix multipl [all...] |
/llvm-project/mlir/unittests/Analysis/Presburger/ |
H A D | Utils.h | 29 ArrayRef<SmallVector<int, 8>> matrix) { in makeIntMatrix() argument 31 assert(matrix.size() == numRow); in makeIntMatrix() 33 assert(matrix[i].size() == numColumns && in makeIntMatrix() 36 results(i, j) = DynamicAPInt(matrix[i][j]); in makeIntMatrix() 42 ArrayRef<SmallVector<Fraction, 8>> matrix) { in makeFracMatrix() argument 44 assert(matrix.size() == numRow); in makeFracMatrix() 46 assert(matrix[i].size() == numColumns && in makeFracMatrix() 49 results(i, j) = matrix[i][j]; in makeFracMatrix()
|