/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...] |
/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/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/docs/ |
H A D | MatrixTypes.rst | 2 Matrix Types 20 Matrix Type 23 A matrix type is a scalar type with an underlying *element type*, a constant 24 number of *rows*, and a constant number of *columns*. Matrix types with the same 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 43 Matrix Type Attribute 46 Matrix types can be declared by adding the ``matrix_type`` attribute to the 48 of the *typedef* must be a valid matrix element type. The 52 type of the *typedef* becomes a matrix typ [all...] |
/llvm-project/llvm/include/llvm/CodeGen/PBQP/ |
H A D | Math.h | 1 //===- Math.h - PBQP Vector and Matrix classes ------------------*- C++ -*-===// 120 /// PBQP Matrix class 121 class Matrix { 123 friend hash_code hash_value(const Matrix &); 126 /// Construct a PBQP Matrix with the given dimensions. 127 Matrix(unsigned Rows, unsigned Cols) : in Matrix() function 131 /// Construct a PBQP Matrix with the given dimensions and initial 133 Matrix(unsigned Rows, unsigned Cols, PBQPNum InitVal) in Matrix() function 139 /// Copy construct a PBQP matrix. 140 Matrix(const Matrix &M) in Matrix() function [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)
|
/llvm-project/mlir/include/mlir/Dialect/SPIRV/IR/ |
H A D | SPIRVMatrixOps.td | 1 //===-- SPIRVMatrixOps.td - MLIR SPIR-V Matrix Ops ---------*- tablegen -*-===// 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 typ [all...] |
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 80 Cooperative Matrix Layout. See the Cooperative Matrix Layout table for a [all …]
|
H A D | SPIRVJointMatrixOps.td |
|
/llvm-project/mlir/include/mlir/Analysis/Presburger/ |
H A D | Matrix.h | 1 //===- Matrix.h - MLIR Matrix Class -----------------------------*- C++ -*-===// 9 // This is a simple 2D matrix class that supports reading, writing, resizing, 30 /// This is a class to represent a resizable matrix. 33 /// stored as a single 1D array, viewed as a 2D matrix with nRows rows and 39 /// method implementations are in the Matrix.cpp file. Only these two types have 42 class Matrix { 47 Matrix() = delete; 49 /// Construct a matrix with the specified number of rows and columns. 55 Matrix(unsigned rows, unsigned columns, unsigned reservedRows = 0, 58 /// Return the identity matrix of the specified dimension. [all …]
|
/llvm-project/clang/test/SemaTemplate/ |
H A D | matrix-type.cpp | 1 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -fenable-matrix %s 15 …using matrix1_t = float __attribute__((matrix_type(Rows, Cols))); // expected-error{{zero matrix s… in matrix_template_3() 25 …using matrix1_t = float __attribute__((matrix_type(Rows, Cols))); // expected-error{{matrix row si… in matrix_template_4() 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() [all …]
|
/llvm-project/clang/test/Driver/ |
H A D | matrix.c | 2 // RUN: %clang -flto=thin -fenable-matrix %t.o -### --target=powerpc64-ibm-aix-xcoff 2>&1 \ 3 // RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX-AIX 4 // CHECK-THINLTO-MATRIX-AIX: "-bplugin_opt:-enable-matrix" 6 // RUN: %clang -flto=thin -fenable-matrix %t.o -### --target=x86_64-unknown-linux 2>&1 \ 7 // RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX 8 // CHECK-THINLTO-MATRIX: "-plugin-opt=-enable-matrix" 10 // RUN: %clang -flto -ffat-lto-objects -fenable-matrix %t.o -### --target=x86_64-unknown-linux 2>&1… 11 // RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX 13 // RUN: %clang -flto=thin -ffat-lto-objects -fenable-matrix %t.o -### --target=x86_64-unknown-linux… 14 // RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX [all …]
|
/llvm-project/mlir/lib/Analysis/Presburger/ |
H A D | Matrix.cpp | 1 //===- Matrix.cpp - MLIR Matrix Class -------------------------------------===// 9 #include "mlir/Analysis/Presburger/Matrix.h" 22 Matrix<T>::Matrix(unsigned rows, unsigned columns, unsigned reservedRows, in Matrix() function in Matrix 33 bool Matrix<T>::operator==(const Matrix<T> &m) const { in operator ==() 47 Matrix<T> Matrix<T>::identity(unsigned dimension) { in identity() 48 Matrix matri in identity() local 445 template class Matrix<DynamicAPInt>; global() variable 446 template class Matrix<Fraction>; global() variable 451 IntMatrix matrix(dimension, dimension); identity() local [all...] |
/llvm-project/.github/workflows/ |
H A D | libcxx-build-and-test.yaml | 44 matrix: 59 - name: ${{ matrix.config }}.${{ matrix.cxx }} 60 run: libcxx/utils/ci/run-buildbot ${{ matrix.config }} 62 CC: ${{ matrix.cc }} 63 CXX: ${{ matrix.cxx }} 67 name: ${{ matrix.config }}-${{ matrix.cxx }}-results 83 matrix: 105 - name: ${{ 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/clang/test/Sema/ |
H A D | matrix-type-operators.c | 1 // RUN: %clang_cc1 %s -fenable-matrix -pedantic -verify -triple=x86_64-apple-darwin9 114 // Matrix by matrix division is not supported. in matrix_matrix_divide() 136 // expected-error@-1 {{matrix column index is not an integer}} in insert() 138 // expected-error@-1 {{matrix row index is not an integer}} in insert() 140 // expected-error@-1 {{matrix row index is not an integer}} in insert() 141 // expected-error@-2 {{matrix column index is not an integer}} in insert() 143 // expected-error@-1 {{matrix column index is not an integer}} in insert() 146 // expected-error@-1 {{matrix row index is not an integer}} in insert() 147 // expected-error@-2 {{matrix column index is not an integer}} in insert() 155 // expected-error@-1 {{matrix row index is outside the allowed range [0, 5)}} in insert() [all …]
|
/llvm-project/llvm/include/llvm/IR/ |
H A D | MatrixBuilder.h | 1 //===- llvm/MatrixBuilder.h - Builder to lower matrix ops -------*- C++ -*-===// 10 // to lower matrix operations to LLVM IR. 40 "One of the operands must be a matrix (embedded in a vector)"); in splatScalarOperandIfNeeded() 60 /// Create a column major, strided matrix load. 61 /// \p EltTy - Matrix element type 62 /// \p DataPtr - Start address of the matrix read 63 /// \p Rows - Number of rows in matrix (must be a constant) 64 /// \p Columns - Number of columns in matrix (must be a constant) 85 /// Create a column major, strided matrix store. 86 /// \p Matrix 146 CreateMatrixInsert(Value * Matrix,Value * NewVal,Value * RowIdx,Value * ColumnIdx,unsigned NumRows) CreateMatrixInsert() argument [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 6 // CHECK: %struct.Matrix = type { i8, [12 x float], float } 51 struct Matrix { struct 57 void matrix_struct_pointers(Matrix *a, Matrix *b) { in matrix_struct_pointers() argument 65 // CHECK-NEXT: %Data = getelementptr inbounds nuw %struct.Matrix, ptr %0, i32 0, i32 1 in matrix_struct_pointers() 68 // CHECK-NEXT: %Data1 = getelementptr inbounds nuw %struct.Matrix, ptr %2, i32 0, i32 1 in matrix_struct_pointers() 74 void matrix_struct_reference(Matrix &a, Matrix &b) { in matrix_struct_reference() 82 // CHECK-NEXT: %Data = getelementptr inbounds nuw %struct.Matrix, pt in matrix_struct_reference() 163 using matrix = T __attribute__((matrix_type(R, C))); global() typedef [all...] |
/llvm-project/clang/test/SemaCXX/ |
H A D | matrix-type-operators.cpp | 1 // RUN: %clang_cc1 %s -fenable-matrix -pedantic -std=c++11 -verify -triple=x86_64-apple-darwin9 139 // expected-error@-1 {{matrix column index is not an integer}} in insert() 141 // expected-error@-1 {{matrix row index is not an integer}} in insert() 143 // expected-error@-1 {{matrix row index is not an integer}} in insert() 144 // expected-error@-2 {{matrix column index is not an integer}} in insert() 146 // expected-error@-1 {{matrix column index is not an integer}} in insert() 154 // expected-error@-1 {{matrix row index is outside the allowed range [0, 5)}} in insert() 156 // expected-error@-1 {{matrix column index is outside the allowed range [0, 10)}} in insert() 158 // expected-error@-1 {{matrix column index is outside the allowed range [0, 10)}} in insert() 160 // expected-error@-1 {{matrix row index is outside the allowed range [0, 5)}} in insert() [all …]
|
/llvm-project/clang/test/CodeGen/ |
H A D | matrix-type-builtins.c | 1 // RUN: %clang_cc1 -no-enable-noundef-analysis -fenable-matrix -triple x86_64-apple-darwin %s -emit-llvm -disable-llvm-passes -o - | FileCheck --check-prefixes=COMMON,CHECK64 %s 2 // RUN: %clang_cc1 -no-enable-noundef-analysis -fenable-matrix -triple i386-apple-darwin %s -emit-llvm -disable-llvm-passes -o - | FileCheck --check-prefixes=COMMON,CHECK32 %s 6 // RUN: %clang_cc1 -fenable-matrix -emit-llvm -triple x86_64-apple-darwin %s -o %t 8 // Tests for the matrix type builtins. 22 // COMMON-NEXT: [[TRANS:%.*]] = call <25 x double> @llvm.matrix.transpose.v25f64(<25 x double> [[A]], i32 5, i32 5) in transpose_double_5x5() 32 // COMMON-NEXT: [[TRANS:%.*]] = call <6 x float> @llvm.matrix.transpose.v6f32(<6 x float> [[A]], i32 3, i32 2) in transpose_float_3x2() 41 // COMMON-NEXT: [[TRANS:%.*]] = call <80 x i32> @llvm.matrix.transpose.v80i32(<80 x i32> [[A]], i32 20, i32 4) in transpose_int_20x4() 55 // COMMON-NEXT: [[M_T:%.*]] = call <6 x i32> @llvm.matrix.transpose.v6i32(<6 x i32> [[M]], i32 1, i32 6) in transpose_struct_member() 67 // COMMON-NEXT: [[M_T:%.*]] = call <6 x i32> @llvm.matrix.transpose.v6i32(<6 x i32> [[M]], i32 1, i32 6) in transpose_transpose_struct_member() 68 // COMMON-NEXT: [[M_T2:%.*]] = call <6 x i32> @llvm.matrix in transpose_transpose_struct_member() [all...] |
H A D | matrix-lowering-opt-levels.c | 1 // RUN: %clang -O0 -fenable-matrix -S -emit-llvm %s -o - | FileCheck %s 2 // RUN: %clang -O1 -fenable-matrix -S -emit-llvm %s -o - | FileCheck %s 3 // RUN: %clang -O2 -fenable-matrix -S -emit-llvm %s -o - | FileCheck %s 4 // RUN: %clang -O3 -fenable-matrix -S -emit-llvm %s -o - | FileCheck %s 5 // RUN: %clang -Ofast -fenable-matrix -S -emit-llvm %s -o - | FileCheck %s 6 // RUN: %clang -Os -fenable-matrix -S -emit-llvm %s -o - | FileCheck %s 7 // RUN: %clang -Oz -fenable-matrix -S -emit-llvm %s -o - | FileCheck %s 9 // Smoke test that the matrix intrinsics are lowered at any optimisation level. 16 // CHECK-NOT: @llvm.matrix in f()
|
/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...] |