|
1 | 1 | // RUN: xdsl-opt -p arith-add-fastmath,test-lower-linalg-to-snitch -t riscv-asm %s | filecheck %s
|
2 |
| -// RUN: xdsl-opt -p arith-add-fastmath,test-lower-linalg-to-snitch{optimization-level=4} -t riscv-asm %s | filecheck %s |
3 |
| -// RUN: xdsl-opt -p arith-add-fastmath,test-lower-linalg-to-snitch{optimization-level=0} -t riscv-asm %s | filecheck %s --check-prefix=CHECK-OPT |
4 | 2 |
|
5 | 3 | func.func @main$async_dispatch_0_matmul_transpose_b_1x400x161_f64$xdsl_kernel1(%arg0: memref<1x161xf64>, %arg1: memref<5x161xf64, strided<[161, 1]>>, %arg2: memref<1x5xf64, strided<[40, 1]>>) {
|
6 | 4 | linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d2)>, affine_map<(d0, d1, d2) -> (d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1)>], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg0, %arg1 : memref<1x161xf64>, memref<5x161xf64, strided<[161, 1]>>) outs(%arg2 : memref<1x5xf64, strided<[40, 1]>>) {
|
@@ -59,50 +57,3 @@ func.func @main$async_dispatch_0_matmul_transpose_b_1x400x161_f64$xdsl_kernel1(%
|
59 | 57 | // CHECK-NEXT: fsd ft3, 32(t0) # store double value to memref of shape (1, 5)
|
60 | 58 | // CHECK-NEXT: csrrci zero, 1984, 1
|
61 | 59 | // CHECK-NEXT: ret
|
62 |
| - |
63 |
| -// CHECK-OPT: .text |
64 |
| -// CHECK-OPT-NEXT: .globl main$async_dispatch_0_matmul_transpose_b_1x400x161_f64$xdsl_kernel1 |
65 |
| -// CHECK-OPT-NEXT: .p2align 2 |
66 |
| -// CHECK-OPT-NEXT: # Regalloc stats: {"preallocated_float": [], "preallocated_int": ["a0", "a1", "a2", "zero"], "allocated_float": ["ft0", "ft1", "ft2"], "allocated_int": ["a0", "a1", "a2", "a3", "a4", "a5", "t0", "t1", "t2", "t3", "t4", "t5", "t6", "zero"]} |
67 |
| -// CHECK-OPT-NEXT: main$async_dispatch_0_matmul_transpose_b_1x400x161_f64$xdsl_kernel1: |
68 |
| -// CHECK-OPT-NEXT: mv t4, a0 |
69 |
| -// CHECK-OPT-NEXT: mv t3, a1 |
70 |
| -// CHECK-OPT-NEXT: mv t2, a2 |
71 |
| -// CHECK-OPT-NEXT: li t6, 5 |
72 |
| -// CHECK-OPT-NEXT: li t0, 161 |
73 |
| -// CHECK-OPT-NEXT: mv t5, zero |
74 |
| -// CHECK-OPT-NEXT: # Constant folded riscv_cf.bge |
75 |
| -// CHECK-OPT-NEXT: scf_body_1_for: |
76 |
| -// CHECK-OPT-NEXT: mv a3, zero |
77 |
| -// CHECK-OPT-NEXT: # Constant folded riscv_cf.bge |
78 |
| -// CHECK-OPT-NEXT: scf_body_0_for: |
79 |
| -// CHECK-OPT-NEXT: mv a4, a3 |
80 |
| -// CHECK-OPT-NEXT: li a5, 8 |
81 |
| -// CHECK-OPT-NEXT: mul a4, a4, a5 # multiply by element size |
82 |
| -// CHECK-OPT-NEXT: add a4, t4, a4 |
83 |
| -// CHECK-OPT-NEXT: fld ft0, 0(a4) # load double from memref of shape (1, 161) |
84 |
| -// CHECK-OPT-NEXT: li a4, 161 |
85 |
| -// CHECK-OPT-NEXT: mul a4, t5, a4 |
86 |
| -// CHECK-OPT-NEXT: add a4, a4, a3 |
87 |
| -// CHECK-OPT-NEXT: li a5, 8 |
88 |
| -// CHECK-OPT-NEXT: mul a4, a4, a5 # multiply by element size |
89 |
| -// CHECK-OPT-NEXT: add a4, t3, a4 |
90 |
| -// CHECK-OPT-NEXT: fld ft1, 0(a4) # load double from memref of shape (5, 161) |
91 |
| -// CHECK-OPT-NEXT: mv a4, t5 |
92 |
| -// CHECK-OPT-NEXT: li a5, 8 |
93 |
| -// CHECK-OPT-NEXT: mul a4, a4, a5 # multiply by element size |
94 |
| -// CHECK-OPT-NEXT: add a4, t2, a4 |
95 |
| -// CHECK-OPT-NEXT: fld ft2, 0(a4) # load double from memref of shape (1, 5) |
96 |
| -// CHECK-OPT-NEXT: fmadd.d ft0, ft0, ft1, ft2 |
97 |
| -// CHECK-OPT-NEXT: mv a4, t5 |
98 |
| -// CHECK-OPT-NEXT: li a5, 8 |
99 |
| -// CHECK-OPT-NEXT: mul a4, a4, a5 # multiply by element size |
100 |
| -// CHECK-OPT-NEXT: add a4, t2, a4 |
101 |
| -// CHECK-OPT-NEXT: fsd ft0, 0(a4) # store double value to memref of shape (1, 5) |
102 |
| -// CHECK-OPT-NEXT: addi a3, a3, 1 |
103 |
| -// CHECK-OPT-NEXT: blt a3, t0, scf_body_0_for |
104 |
| -// CHECK-OPT-NEXT: scf_body_end_0_for: |
105 |
| -// CHECK-OPT-NEXT: addi t5, t5, 1 |
106 |
| -// CHECK-OPT-NEXT: blt t5, t6, scf_body_1_for |
107 |
| -// CHECK-OPT-NEXT: scf_body_end_1_for: |
108 |
| -// CHECK-OPT-NEXT: ret |
0 commit comments