Lines Matching +full:matrix +full:- +full:matrix +full:- +full:transpose
1 // 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>
21 // CHECK-LABEL: func.func @transpose1
23 // CHECK-NEXT: %[[RES:.*]] = hlfir.transpose %[[ARG0]] : (!hlfir.expr<2x3xi32>) -> !hlfir.expr<3…
24 // CHECK-NEXT: return
25 // CHECK-NEXT: }
27 // matrix of assumed shape
29 %res = hlfir.transpose %arg0 : (!hlfir.expr<?x?xi32>) -> !hlfir.expr<?x?xi32>
32 // CHECK-LABEL: func.func @transpose2
34 // CHECK-NEXT: %[[RES:.*]] = hlfir.transpose %[[ARG0]] : (!hlfir.expr<?x?xi32>) -> !hlfir.expr<?…
35 // CHECK-NEXT: return
36 // CHECK-NEXT: }
38 // matrix where only some dimensions are known #1
40 %res = hlfir.transpose %arg0 : (!hlfir.expr<?x2xi32>) -> !hlfir.expr<2x?xi32>
43 // CHECK-LABEL: func.func @transpose3
45 // CHECK-NEXT: %[[RES:.*]] = hlfir.transpose %[[ARG0]] : (!hlfir.expr<?x2xi32>) -> !hlfir.expr<2…
46 // CHECK-NEXT: return
47 // CHECK-NEXT: }
49 // matrix where only some dimensions are known #2
51 %res = hlfir.transpose %arg0 : (!hlfir.expr<2x?xi32>) -> !hlfir.expr<?x2xi32>
54 // CHECK-LABEL: func.func @transpose4
56 // CHECK-NEXT: %[[RES:.*]] = hlfir.transpose %[[ARG0]] : (!hlfir.expr<2x?xi32>) -> !hlfir.expr<?…
57 // CHECK-NEXT: return
58 // CHECK-NEXT: }
60 // matrix is a boxed array
62 %res = hlfir.transpose %arg0 : (!fir.box<!fir.array<1x2xi32>>) -> !hlfir.expr<2x1xi32>
65 // CHECK-LABEL: func.func @transpose5
67 // CHECK-NEXT: %[[RES:.*]] = hlfir.transpose %[[ARG0]] : (!fir.box<!fir.array<1x2xi32>>) -> !hlf…
68 // CHECK-NEXT: return
69 // CHECK-NEXT: }