Home
last modified time | relevance | path

Searched +full:matrix +full:- +full:matrix +full:- +full:transpose (Results 1 – 25 of 105) sorted by relevance

12345

/llvm-project/llvm/test/Transforms/LowerMatrixIntrinsics/
H A Dtranspose-opts-lifting.ll1 ; RUN: opt -p lower-matrix-intrinsics -matrix-print-after-transpose
[all...]
H A Dafter-transpose-opts.ll2 ; REQUIRES: aarch64-registered-target
4 ; RUN: opt -passes='lower-matrix-intrinsics' -matrix-print-after-transpose-opt -disable-output %s 2…
6 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
7 target triple = "aarch64-apple-ios"
11 ; CHECK-LABEL: @kat(
12 ; CHECK-NEXT: entry:
13 ; CHECK-NEXT: [[A:%.*]] = load <9 x double>, ptr [[APTR:%.*]], align 128
14 ; CHECK-NEXT: [[VECK:%.*]] = insertelement <9 x double> poison, double [[K:%.*]], i64 0
15 ; CHECK-NEXT: [[SPLAT:%.*]] = shufflevector <9 x double> [[VECK]], <9 x double> poison, <9 x i32…
16 ; CHECK-NEXT: [[AT:%.*]] = call <9 x double> @llvm.matrix.transpose.v9f64(<9 x double> [[A]], i3…
[all …]
H A Dremarks.ll1 ; REQUIRES: aarch64-registered-target
5 ; RUN: opt -passes=lower-matrix-intrinsics -pass-remarks=lower-matrix-intrinsics -mtriple=arm64-app…
7 ; CHECK-LABEL: remark: test.h:40:20: Lowered with 6 stores, 6 loads, 24 compute ops
8 ; CHECK-NEXT: store(
9 ; CHECK-NEXT: transpose.2x6.double(load(addr %A)),
10 ; CHECK-NEXT: addr %B)
11 define void @transpose(ptr %A, ptr %B) !dbg !23 {
13 …%t = call <12 x double> @llvm.matrix.transpose.v12f64.v12f64(<12 x double> %load, i32 2, i32 6), !…
18 ; CHECK-LABEL: remark: test.h:50:20: Lowered with 2 stores, 12 loads, 22 compute ops
19 ; CHECK-NEXT: store(
[all …]
H A Dremarks-inlining.ll1 ; 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);
[all …]
H A Dremarks-shared-subtrees.ll1 ; REQUIRES: aarch64-registered-target
5-passes=lower-matrix-intrinsics -pass-remarks-output=%t -pass-remarks=lower-matrix-intrinsics -mtr…
6 ; RUN: FileCheck --input-file=%t --check-prefix=YAML %s
8 ; YAML-LABEL: --- !Passed
9 ; YAML-NEXT: Pass: lower-matrix-intrinsics
10 ; YAML-NEXT: Name: matrix-lowered
11 ; YAML-NEXT: DebugLoc: { File: test.cpp, Line: 35, Column: 71 }
12 ; YAML-NEXT: Function: test_2leafs
13 ; YAML-NEXT: Args:
14 ; YAML-NEXT: - String: 'Lowered with '
[all …]
H A Ddot-product-transpose-int.ll2 ; REQUIRES: aarch64-registered-target
3 ; RUN: opt -passes='lower-matrix-intrinsics' -mtriple=arm64-apple-iphoneos -
[all...]
H A Dtranspose-float-row-major.ll2 ; RUN: opt -passes=lower-matrix-intrinsics -matrix-default-layout=row-major -S < %s | FileCheck --c…
4 define <8 x float> @transpose(<8 x float> %a) {
5 ; RM-LABEL: @transpose(
6 ; RM-NEXT: entry:
7 ; RM-NEXT: [[SPLIT:%.*]] = shufflevector <8 x float> [[A:%.*]], <8 x float> poison, <4 x i32> <i…
8 ; RM-NEXT: [[SPLIT1:%.*]] = shufflevector <8 x float> [[A]], <8 x float> poison, <4 x i32> <i32 …
9 ; RM-NEXT: [[TMP0:%.*]] = extractelement <4 x float> [[SPLIT]], i64 0
10 ; RM-NEXT: [[TMP1:%.*]] = insertelement <2 x float> poison, float [[TMP0]], i64 0
11 ; RM-NEXT: [[TMP2:%.*]] = extractelement <4 x float> [[SPLIT1]], i64 0
12 ; RM-NEXT: [[TMP3:%.*]] = insertelement <2 x float> [[TMP1]], float [[TMP2]], i64 1
[all …]
H A Dtranspose-double-row-major.ll2 ; RUN: opt -passes=lower-matrix-intrinsics -matrix-default-layout=row-major -S < %s | FileCheck --c…
4 define <8 x double> @transpose(<8 x double> %a) {
5 ; RM-LABEL: @transpose(
6 ; RM-NEXT: entry:
7 ; RM-NEXT: [[SPLIT:%.*]] = shufflevector <8 x double> [[A:%.*]], <8 x double> poison, <4 x i32> …
8 ; RM-NEXT: [[SPLIT1:%.*]] = shufflevector <8 x double> [[A]], <8 x double> poison, <4 x i32> <i3…
9 ; RM-NEXT: [[TMP0:%.*]] = extractelement <4 x double> [[SPLIT]], i64 0
10 ; RM-NEXT: [[TMP1:%.*]] = insertelement <2 x double> poison, double [[TMP0]], i64 0
11 ; RM-NEXT: [[TMP2:%.*]] = extractelement <4 x double> [[SPLIT1]], i64 0
12 ; RM-NEXT: [[TMP3:%.*]] = insertelement <2 x double> [[TMP1]], double [[TMP2]], i64 1
[all …]
H A Dtranspose-i32-row-major.ll2 ; RUN: opt -passes=lower-matrix-intrinsics -matrix-default-layout=row-major -S < %s | FileCheck --c…
4 define <8 x i32> @transpose(<8 x i32> %a) {
5 ; RM-LABEL: @transpose(
6 ; RM-NEXT: entry:
7 ; RM-NEXT: [[SPLIT:%.*]] = shufflevector <8 x i32> [[A:%.*]], <8 x i32> poison, <4 x i32> <i32 0…
8 ; RM-NEXT: [[SPLIT1:%.*]] = shufflevector <8 x i32> [[A]], <8 x i32> poison, <4 x i32> <i32 4, i…
9 ; RM-NEXT: [[TMP0:%.*]] = extractelement <4 x i32> [[SPLIT]], i64 0
10 ; RM-NEXT: [[TMP1:%.*]] = insertelement <2 x i32> poison, i32 [[TMP0]], i64 0
11 ; RM-NEXT: [[TMP2:%.*]] = extractelement <4 x i32> [[SPLIT1]], i64 0
12 ; RM-NEXT: [[TMP3:%.*]] = insertelement <2 x i32> [[TMP1]], i32 [[TMP2]], i64 1
[all …]
H A Dtranspose-i32.ll2 ; RUN: opt -passes='lower-matrix-intrinsics' -S < %s | FileCheck %s
5 define <8 x i32> @transpose(<8 x i32> %a) {
6 ; CHECK-LABEL: @transpose(
7 ; CHECK-NEXT: entry:
8 ; CHECK-NEXT: [[SPLIT:%.*]] = shufflevector <8 x i32> [[A:%.*]], <8 x i32> poison, <2 x i32> <i3…
9 ; CHECK-NEXT: [[SPLIT1:%.*]] = shufflevector <8 x i32> [[A]], <8 x i32> poison, <2 x i32> <i32 2…
10 ; CHECK-NEXT: [[SPLIT2:%.*]] = shufflevector <8 x i32> [[A]], <8 x i32> poison, <2 x i32> <i32 4…
11 ; CHECK-NEXT: [[SPLIT3:%.*]] = shufflevector <8 x i32> [[A]], <8 x i32> poison, <2 x i32> <i32 6…
12 ; CHECK-NEXT: [[TMP0:%.*]] = extractelement <2 x i32> [[SPLIT]], i64 0
13 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x i32> poison, i32 [[TMP0]], i64 0
[all …]
/llvm-project/llvm/test/Verifier/
H A Dmatrix-intrinsics.ll1 ; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s
3 define <4 x float> @transpose(<4 x float> %m, i32 %arg) {
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
[all …]
/llvm-project/mlir/test/Dialect/SPIRV/IR/
H A Dmatrix-ops.mlir1 // RUN: mlir-opt -allow-unregistered-dialect -split-input-file -verify-diagnostics %s | FileCheck %s
4 // CHECK-LABE
[all...]
/llvm-project/flang/test/HLFIR/
H A Dtranspose.fir1 // Test hlfir.transpose operation parse, verify (no errors), and unparse
3 // RUN: fir-opt %s | fir-opt | FileCheck %s
5 // square matrix of known shape
7 %res = hlfir.transpose %arg0 : (!hlfir.expr<2x2xi32>) -> !hlfir.expr<2x2xi32>
10 // CHECK-LABEL: func.func @transpose0
12 // CHECK-NEXT: %[[RES:.*]] = hlfir.transpose %[[ARG0]] : (!hlfir.expr<2x2xi32>) -> !hlfir.expr<2…
13 // CHECK-NEXT: return
14 // CHECK-NEXT: }
16 // rectangular matrix of known shape
18 %res = hlfir.transpose %arg0 : (!hlfir.expr<2x3xi32>) -> !hlfir.expr<3x2xi32>
[all …]
/llvm-project/mlir/include/mlir/Dialect/SPIRV/IR/
H A DSPIRVMatrixOps.td1 //===-- SPIRVMatrixOps.td - MLIR SPIR-V Matrix Ops -----
[all...]
/llvm-project/clang/test/CodeGenCXX/
H A Dmatrix-type-builtins.cpp1 // RUN: %clang_cc1 -fenable-matrix -triple x86_64-apple-darwin %s -emit-llvm -disable-llv
14 MyMatrix<T, C, R> transpose(const MyMatrix<T, R, C> &M) { transpose() function
[all...]
/llvm-project/clang/test/CodeGen/
H A Dmatrix-type-builtins.c1 // RUN: %clang_cc1 -no-enable-noundef-analysis -fenable-matrix -triple x86_64-apple-darwi
[all...]
/llvm-project/mlir/test/Target/SPIRV/
H A Dmatrix.mlir1 // RUN: mlir-translate -no-implicit-module -split-input-file -test-spirv-roundtri
[all...]
/llvm-project/llvm/include/llvm/CodeGen/PBQP/
H A DReductionRules.h1 //===- ReductionRules.h - Reduction Rules -----------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
34 using Matrix = typename GraphT::Matrix; in applyR1() local
43 const Matrix &ECosts = G.getEdgeCosts(EId); in applyR1()
78 using Matrix = typename GraphT::Matrix; in applyR2() local
96 const Matrix *YXECosts = FlipEdge1 ? in applyR2()
97 new Matrix(G.getEdgeCosts(YXEId).transpose()) : in applyR2()
100 const Matrix *ZXECosts = FlipEdge2 ? in applyR2()
[all …]
H A DMath.h1 //===- Math.h - PBQP Vector and Matrix classes ------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
91 return std::min_element(Data.get(), Data.get() + Length) - Data.get(); in minIndex()
110 assert((V.getLength() != 0) && "Zero-length vector badness.");
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
[all …]
/llvm-project/flang/runtime/
H A Dmatmul-transpose.cpp1 //===-- runtime/matmul-transpose.cpp ------
[all...]
/llvm-project/clang/test/SemaCXX/
H A Dmatrix-type-builtins.cpp1 // RUN: %clang_cc1 %s -fenable-matrix -pedantic -std=c++11 -verify -triple=x86_64-apple-darwin9
11 typename MyMatrix<EltTy1, R1, C1>::matrix_t transpose(MyMatrix<EltTy0, R0, C0> &A) { in transpose() function
13 …// expected-error@-1 {{cannot initialize a variable of type 'char *' with an rvalue of type 'unsig… in transpose()
14 …// expected-error@-2 {{cannot initialize a variable of type 'char *' with an rvalue of type 'unsig… in transpose()
15 …// expected-error@-3 {{cannot initialize a variable of type 'char *' with an rvalue of type 'unsig… in transpose()
18 // expected-error@-1 {{1st argument must be a matrix}} in transpose()
19 // expected-error@-2 {{1st argument must be a matrix}} in transpose()
20 // expected-error@-3 {{1st argument must be a matrix}} in transpose()
23 …// expected-error@-1 {{cannot initialize return object of type 'typename MyMatrix<unsigned int, 2U… in transpose()
24 …// expected-error@-2 {{cannot initialize return object of type 'typename MyMatrix<unsigned int, 2U… in transpose()
[all …]
/llvm-project/mlir/include/mlir/Dialect/GPU/IR/
H A DGPUOps.td1 //===-- GPUOps.td - GPU dialect operation definitions ------*- tablege
[all...]
/llvm-project/llvm/lib/Transforms/Scalar/
H A DLowerMatrixIntrinsics.cpp1 //===- LowerMatrixIntrinsics.cpp - Lower matrix intrinsics -----*- C++ -*
1227 LowerStore(Instruction * Inst,Value * Matrix,Value * Ptr,MaybeAlign A,Value * Stride,bool IsVolatile,ShapeInfo Shape) LowerStore() argument
1243 Value *Matrix = Inst->getArgOperand(0); LowerColumnMajorStore() local
1312 finalizeLowering(Instruction * Inst,MatrixTy Matrix,IRBuilder<> & Builder) finalizeLowering() argument
1891 Value *Transpose; LowerMatrixMultiplyFused() local
[all...]
/llvm-project/mlir/test/Dialect/NVGPU/
H A Dinvalid.mlir1 // RUN: mlir-opt -split-input-file -verify-diagnostics %s
3 func.func @ldmatrix_address_space_f16_x4(%arg0: memref<128x128xf16, 2>) -> vector<4x1xf16> {
5 // expected-error @below {{expected nvgpu.ldmatrix srcMemref must have a memory space attribute of IntegerAttr(3) or gpu::AddressSpaceAttr(Workgroup)}}
6 %a = nvgpu.ldmatrix %arg0[%c0, %c0] {transpose = false, numTiles = 4 : i32} : memref<128x128xf16, 2> -> vecto
[all...]
/llvm-project/mlir/include/mlir/Analysis/Presburger/
H A DMatrix.h1 //===- Matrix.h - MLIR Matrix Class -----------------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This is a simple 2D matrix class that supports reading, writing, resizing,
13 //===----------------------------------------------------------------------===//
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;
[all …]

12345