File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
mlir/test/Dialect/OpenACC Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -1653,6 +1653,23 @@ func.func @acc_reduc_test(%a : memref<i64>) -> () {
16531653// CHECK: %[[REDUCTION_A:.*]] = acc.reduction varPtr(%[[ARG0]] : memref<i64>) recipe(@reduction_add_memref_i64) -> memref<i64>
16541654// CHECK-NEXT: acc.serial reduction(%[[REDUCTION_A]] : memref<i64>)
16551655
1656+ // -----
1657+
1658+ acc.reduction.recipe @reduction_add_memref_i64 : memref <i64 > reduction_operator <add > init {
1659+ ^bb0 (%arg0: memref <i64 >):
1660+ %c0_i64 = arith.constant 0 : i64
1661+ %alloca = memref.alloca () : memref <i64 >
1662+ memref.store %c0_i64 , %alloca [] : memref <i64 >
1663+ acc.yield %alloca : memref <i64 >
1664+ } combiner {
1665+ ^bb0 (%arg0: memref <i64 >, %arg1: memref <i64 >):
1666+ %0 = memref.load %arg0 [] : memref <i64 >
1667+ %1 = memref.load %arg1 [] : memref <i64 >
1668+ %2 = arith.addi %0 , %1 : i64
1669+ memref.store %2 , %arg0 [] : memref <i64 >
1670+ acc.yield %arg0 : memref <i64 >
1671+ }
1672+
16561673func.func @acc_kernels_reduc_test (%a : memref <i64 >) -> () {
16571674 %reduction_a = acc.reduction varPtr (%a : memref <i64 >) recipe (@reduction_add_memref_i64 ) -> memref <i64 >
16581675 acc.kernels reduction (%reduction_a : memref <i64 >) {
You can’t perform that action at this time.
0 commit comments