diff --git a/test/arch_spec/arch_spec_example.yaml b/test/arch_spec/arch_spec_example.yaml index 66793564..ef51f738 100644 --- a/test/arch_spec/arch_spec_example.yaml +++ b/test/arch_spec/arch_spec_example.yaml @@ -14,12 +14,15 @@ cgra_defaults: columns: 4 ctrl_mem_items: 20 base_topology: "mesh" + memory: banks: 4 tile_defaults: num_registers: 128 - fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "mem", "return", "mem_indexed", "alloca", "shift"] # comprehensive function unit types + # Default tiles do not assume a dedicated memory unit. Memory-capable tiles + # are declared explicitly in `tile_overrides`. + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift"] link_defaults: latency: 1 @@ -50,6 +53,12 @@ link_overrides: bandwidth: 32 existence: true +# Basic method: explicitly list the tiles on the memory-connected side and give +# them an overridden FU list that includes the mem unit. This is the concrete +# configuration used for simulation / Verilog comparison. +# +# Example below: for CGRA (0,0), the West side is attached to off-chip memory, +# so all tiles with tile_x = 0 are explicitly made memory-capable. tile_overrides: - cgra_x: 0 cgra_y: 0 @@ -61,9 +70,9 @@ tile_overrides: - cgra_x: 1 cgra_y: 0 - tile_x: 3 + tile_x: 0 tile_y: 0 - fu_types: ["mem", "mem_indexed"] + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] num_registers: 32 existence: true diff --git a/test/arch_spec/architecture.yaml b/test/arch_spec/architecture.yaml index 31235dca..cf620738 100644 --- a/test/arch_spec/architecture.yaml +++ b/test/arch_spec/architecture.yaml @@ -15,7 +15,7 @@ per_cgra_defaults: tile_defaults: num_registers: 32 - fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "mem", "return", "mem_indexed", "alloca", "shift"] + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift"] link_defaults: latency: 1 @@ -24,6 +24,63 @@ link_defaults: link_overrides: tile_overrides: + # Enable memory FU only on the 7 boundary tiles: + # left column (0,0)..(0,3) and top/bottom row continuation (1,0)..(3,0). + - cgra_x: 0 + cgra_y: 0 + tile_x: 0 + tile_y: 0 + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] + num_registers: 32 + existence: true + + - cgra_x: 0 + cgra_y: 0 + tile_x: 0 + tile_y: 1 + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] + num_registers: 32 + existence: true + + - cgra_x: 0 + cgra_y: 0 + tile_x: 0 + tile_y: 2 + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] + num_registers: 32 + existence: true + + - cgra_x: 0 + cgra_y: 0 + tile_x: 0 + tile_y: 3 + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] + num_registers: 32 + existence: true + + - cgra_x: 0 + cgra_y: 0 + tile_x: 1 + tile_y: 0 + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] + num_registers: 32 + existence: true + + - cgra_x: 0 + cgra_y: 0 + tile_x: 2 + tile_y: 0 + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] + num_registers: 32 + existence: true + + - cgra_x: 0 + cgra_y: 0 + tile_x: 3 + tile_y: 0 + fu_types: ["add", "mul", "div", "fadd", "fmul", "fdiv", "logic", "cmp", "sel", "type_conv", "vfmul", "fadd_fadd", "fmul_fadd", "grant", "loop_control", "phi", "constant", "return", "alloca", "shift", "mem", "mem_indexed"] + num_registers: 32 + existence: true extensions: crossbar: false diff --git a/test/code_gen/test_code_generate.mlir b/test/code_gen/test_code_generate.mlir index a9671b86..faf98caa 100644 --- a/test/code_gen/test_code_generate.mlir +++ b/test/code_gen/test_code_generate.mlir @@ -32,79 +32,78 @@ func.func @loop_test() -> f32 { ^exit(%result: f32): return %result : f32 } -// MAPPING: module { // MAPPING: func.func @loop_test() -> f32 attributes {accelerator = "neura", dataflow_mode = "predicate", mapping_info = {compiled_ii = 4 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 4 : i32, res_mii = 2 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}} { -// MAPPING: %0 = "neura.constant"() <{value = 10 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 3 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING: %1 = "neura.data_mov"(%0) {dfg_id = 11 : i32, mapping_locs = [{id = 96 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %2 = "neura.grant_once"(%1) {dfg_id = 16 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %3 = "neura.constant"() <{value = 0 : i64}> {dfg_id = 1 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING: %4 = "neura.data_mov"(%3) {dfg_id = 12 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %5 = "neura.grant_once"(%4) {dfg_id = 17 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %6 = "neura.constant"() <{value = 1 : i64}> {dfg_id = 2 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 1 : i32}]} : () -> !neura.data -// MAPPING: %7 = "neura.data_mov"(%6) {dfg_id = 13 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %8 = "neura.grant_once"(%7) {dfg_id = 18 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %9 = "neura.constant"() <{value = 3.000000e+00 : f32}> {dfg_id = 3 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 1 : i32}]} : () -> !neura.data -// MAPPING: %10 = "neura.data_mov"(%9) {dfg_id = 14 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %11 = "neura.grant_once"(%10) {dfg_id = 19 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %12 = "neura.constant"() <{value = 0.000000e+00 : f32}> {dfg_id = 4 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 3 : i32}]} : () -> !neura.data -// MAPPING: %13 = "neura.data_mov"(%12) {dfg_id = 15 : i32, mapping_locs = [{id = 384 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %14 = "neura.grant_once"(%13) {dfg_id = 20 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %15 = neura.reserve {dfg_id = 5 : i32} : !neura.data -// MAPPING: %16 = "neura.data_mov"(%2) {dfg_id = 21 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %17 = neura.phi_start %16, %15 {dfg_id = 26 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: %18 = neura.reserve {dfg_id = 6 : i32} : !neura.data -// MAPPING: %19 = "neura.data_mov"(%8) {dfg_id = 23 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %20 = neura.phi_start %19, %18 {dfg_id = 28 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: %21 = neura.reserve {dfg_id = 7 : i32} : !neura.data -// MAPPING: %22 = "neura.data_mov"(%11) {dfg_id = 24 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %23 = neura.phi_start %22, %21 {dfg_id = 29 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: %24 = neura.reserve {dfg_id = 8 : i32} : !neura.data -// MAPPING: %25 = "neura.data_mov"(%14) {dfg_id = 25 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %26 = neura.phi_start %25, %24 {dfg_id = 30 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: %27 = neura.reserve {dfg_id = 9 : i32} : !neura.data -// MAPPING: %28 = "neura.data_mov"(%5) {dfg_id = 22 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %29 = neura.phi_start %28, %27 {dfg_id = 27 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: %30 = "neura.data_mov"(%26) {dfg_id = 38 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %31 = "neura.data_mov"(%23) {dfg_id = 37 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %32 = "neura.fadd"(%30, %31) {dfg_id = 40 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING: %33 = "neura.data_mov"(%29) {dfg_id = 33 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %34 = "neura.data_mov"(%20) {dfg_id = 35 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %35 = "neura.add"(%33, %34) {dfg_id = 39 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING: %36 = "neura.data_mov"(%35) {dfg_id = 42 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %37 = "neura.data_mov"(%17) {dfg_id = 32 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %38 = "neura.icmp"(%36, %37) <{cmpType = "slt"}> {dfg_id = 45 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING: %39 = "neura.data_mov"(%35) {dfg_id = 41 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %40 = "neura.data_mov"(%38) {dfg_id = 51 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %41 = neura.grant_predicate %39, %40 {dfg_id = 57 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: neura.ctrl_mov %41 -> %27 {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING: %42 = "neura.data_mov"(%32) {dfg_id = 44 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 24 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %43 = "neura.data_mov"(%38) {dfg_id = 50 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 31 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %44 = neura.grant_predicate %42, %43 {dfg_id = 56 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: neura.ctrl_mov %44 -> %24 {dfg_id = 62 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : !neura.data !neura.data -// MAPPING: %45 = "neura.data_mov"(%23) {dfg_id = 36 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %46 = "neura.data_mov"(%38) {dfg_id = 49 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %47 = neura.grant_predicate %45, %46 {dfg_id = 55 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: neura.ctrl_mov %47 -> %21 {dfg_id = 61 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : !neura.data !neura.data -// MAPPING: %48 = "neura.data_mov"(%20) {dfg_id = 34 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %49 = "neura.data_mov"(%38) {dfg_id = 48 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %50 = neura.grant_predicate %48, %49 {dfg_id = 54 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: neura.ctrl_mov %50 -> %18 {dfg_id = 60 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING: %51 = "neura.data_mov"(%17) {dfg_id = 31 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 7 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %52 = "neura.data_mov"(%38) {dfg_id = 47 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %53 = neura.grant_predicate %51, %52 {dfg_id = 53 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: neura.ctrl_mov %53 -> %15 {dfg_id = 59 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : !neura.data !neura.data -// MAPPING: %54 = "neura.data_mov"(%38) {dfg_id = 46 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %55 = "neura.not"(%54) {dfg_id = 52 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %56 = "neura.data_mov"(%32) {dfg_id = 43 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %57 = "neura.data_mov"(%55) {dfg_id = 58 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 17 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 16 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %58 = neura.grant_predicate %56, %57 {dfg_id = 64 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: %59 = "neura.data_mov"(%58) {dfg_id = 65 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: neura.return_value %59 : !neura.data {dfg_id = 66 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} -// MAPPING: neura.yield {dfg_id = 10 : i32} -// MAPPING: } -// MAPPING: } +// MAPPING-NEXT: %0 = "neura.constant"() <{value = 10 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 3 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.data_mov"(%0) {dfg_id = 11 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %2 = "neura.grant_once"(%1) {dfg_id = 16 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %3 = "neura.constant"() <{value = 0 : i64}> {dfg_id = 1 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %4 = "neura.data_mov"(%3) {dfg_id = 12 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %5 = "neura.grant_once"(%4) {dfg_id = 17 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %6 = "neura.constant"() <{value = 1 : i64}> {dfg_id = 2 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 1 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %7 = "neura.data_mov"(%6) {dfg_id = 13 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %8 = "neura.grant_once"(%7) {dfg_id = 18 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = "neura.constant"() <{value = 3.000000e+00 : f32}> {dfg_id = 3 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 1 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %10 = "neura.data_mov"(%9) {dfg_id = 14 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = "neura.grant_once"(%10) {dfg_id = 19 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = "neura.constant"() <{value = 0.000000e+00 : f32}> {dfg_id = 4 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 3 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %13 = "neura.data_mov"(%12) {dfg_id = 15 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.grant_once"(%13) {dfg_id = 20 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = neura.reserve {dfg_id = 5 : i32} : !neura.data +// MAPPING-NEXT: %16 = "neura.data_mov"(%2) {dfg_id = 21 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %17 = neura.phi_start %16, %15 {dfg_id = 26 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %18 = neura.reserve {dfg_id = 6 : i32} : !neura.data +// MAPPING-NEXT: %19 = "neura.data_mov"(%8) {dfg_id = 23 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = neura.phi_start %19, %18 {dfg_id = 28 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %21 = neura.reserve {dfg_id = 7 : i32} : !neura.data +// MAPPING-NEXT: %22 = "neura.data_mov"(%11) {dfg_id = 24 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = neura.phi_start %22, %21 {dfg_id = 29 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %24 = neura.reserve {dfg_id = 8 : i32} : !neura.data +// MAPPING-NEXT: %25 = "neura.data_mov"(%14) {dfg_id = 25 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %26 = neura.phi_start %25, %24 {dfg_id = 30 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %27 = neura.reserve {dfg_id = 9 : i32} : !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%5) {dfg_id = 22 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = neura.phi_start %28, %27 {dfg_id = 27 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %30 = "neura.data_mov"(%26) {dfg_id = 38 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%23) {dfg_id = 37 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %32 = "neura.fadd"(%30, %31) {dfg_id = 40 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %33 = "neura.data_mov"(%29) {dfg_id = 33 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %34 = "neura.data_mov"(%20) {dfg_id = 35 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %35 = "neura.add"(%33, %34) {dfg_id = 39 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %36 = "neura.data_mov"(%35) {dfg_id = 42 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %37 = "neura.data_mov"(%17) {dfg_id = 32 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %38 = "neura.icmp"(%36, %37) <{cmpType = "slt"}> {dfg_id = 45 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %39 = "neura.data_mov"(%35) {dfg_id = 41 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %40 = "neura.data_mov"(%38) {dfg_id = 51 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %41 = neura.grant_predicate %39, %40 {dfg_id = 57 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %41 -> %27 {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %42 = "neura.data_mov"(%32) {dfg_id = 44 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 24 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %43 = "neura.data_mov"(%38) {dfg_id = 50 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 31 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %44 = neura.grant_predicate %42, %43 {dfg_id = 56 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %44 -> %24 {dfg_id = 62 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %45 = "neura.data_mov"(%23) {dfg_id = 36 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %46 = "neura.data_mov"(%38) {dfg_id = 49 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %47 = neura.grant_predicate %45, %46 {dfg_id = 55 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %47 -> %21 {dfg_id = 61 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %48 = "neura.data_mov"(%20) {dfg_id = 34 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %49 = "neura.data_mov"(%38) {dfg_id = 48 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %50 = neura.grant_predicate %48, %49 {dfg_id = 54 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %50 -> %18 {dfg_id = 60 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %51 = "neura.data_mov"(%17) {dfg_id = 31 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 7 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %52 = "neura.data_mov"(%38) {dfg_id = 47 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %53 = neura.grant_predicate %51, %52 {dfg_id = 53 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %53 -> %15 {dfg_id = 59 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %54 = "neura.data_mov"(%38) {dfg_id = 46 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %55 = "neura.not"(%54) {dfg_id = 52 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %56 = "neura.data_mov"(%32) {dfg_id = 43 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %57 = "neura.data_mov"(%55) {dfg_id = 58 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 17 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 16 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %58 = neura.grant_predicate %56, %57 {dfg_id = 64 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %59 = "neura.data_mov"(%58) {dfg_id = 65 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_value %59 : !neura.data {dfg_id = 66 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 10 : i32} +// MAPPING-NEXT: } -// YAML: array_config: + +// YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 4 @@ -134,9 +133,566 @@ func.func @loop_test() -> f32 { // YAML-NEXT: time_step: 1 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 36 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 55 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 410001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 27 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 310000 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 57 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 26 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "3" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#10" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 16 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "4" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 29 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "FADD" +// YAML-NEXT: id: 40 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 3 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#3.000000" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 490002 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 19 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 2 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 18 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 490001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 28 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 430001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 39 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 580002 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SLT" +// YAML-NEXT: id: 45 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 54 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 31 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 53 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 580001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 34 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 52 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 30 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 440001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 64 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 2 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VALUE" +// YAML-NEXT: id: 66 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 2 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 50 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 56 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 43 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 500001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "12" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 4 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0.000000" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 20 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" -// ASM: # Compiled II: 4 -// ASM: PE(0,0): + +// ASM: # Compiled II: 4 +// ASM: PE(0,0): // ASM-NEXT: { // ASM-NEXT: CONSTANT, [#0] -> [$0] (t=0, inv_iters=0) // ASM-NEXT: } (idx_per_ii=0) @@ -147,14 +703,14 @@ func.func @loop_test() -> f32 { // ASM-NEXT: { // ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [NORTH, RED] (t=7, inv_iters=1) // ASM-NEXT: } (idx_per_ii=3) -// ASM: PE(1,0): +// ASM: PE(1,0): // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=4, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { // ASM-NEXT: PHI_START, [WEST, RED], [EAST, RED] -> [NORTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) -// ASM: PE(2,0): +// ASM: PE(2,0): // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=4, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) @@ -164,3 +720,93 @@ func.func @loop_test() -> f32 { // ASM-NEXT: { // ASM-NEXT: PHI_START, [EAST, RED], [NORTH, RED] -> [NORTH, RED], [$0] (t=3, inv_iters=0) // ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(3,0): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [#10] -> [$0] (t=1, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [$0] -> [WEST, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [SOUTH, RED] -> [$0], [SOUTH, RED] (t=4, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: FADD, [NORTH, RED], [$0] -> [NORTH, RED], [EAST, RED] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [#3.000000] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [$0] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(1,1): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [#1] -> [$0] (t=0, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [$0] -> [$0] (t=1, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [EAST, RED] -> [$0], [EAST, RED] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: ADD, [SOUTH, RED], [$0] -> [EAST, RED], [SOUTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=7, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: ICMP_SLT, [WEST, RED], [SOUTH, RED] -> [SOUTH, RED], [NORTH, RED], [WEST, RED], [$2], [$1], [EAST, RED] (t=4, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$2] -> [WEST, RED] (t=5, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [SOUTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: NOT, [WEST, RED] -> [WEST, RED] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [NORTH, RED], [EAST, RED] -> [SOUTH, RED] (t=4, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM: PE(1,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [$0] (t=8, inv_iters=2) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: RETURN_VALUE, [$0] (t=9, inv_iters=2) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [WEST, RED], [$0] -> [WEST, RED] (t=7, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=7, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(2,2): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [WEST, RED] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM: PE(0,3): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [#0.000000] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [$0] -> [SOUTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) + + diff --git a/test/compiler_e2e/fir/fir_kernel.mlir b/test/compiler_e2e/fir/fir_kernel.mlir index f283d5cd..af09176c 100644 --- a/test/compiler_e2e/fir/fir_kernel.mlir +++ b/test/compiler_e2e/fir/fir_kernel.mlir @@ -8,132 +8,211 @@ // RUN: FileCheck %s --input-file=tmp-generated-instructions.yaml --check-prefix=YAML // RUN: FileCheck %s --input-file=tmp-generated-instructions.asm --check-prefix=ASM -// MAPPING: func.func -// MAPPING-SAME: compiled_ii = 5 : i32 -// MAPPING-SAME: mapping_mode = "spatial-temporal" -// MAPPING-SAME: mapping_strategy = "heuristic" -// MAPPING-SAME: rec_mii = 5 : i32 -// MAPPING-SAME: res_mii = 1 : i32 -// MAPPING-SAME: x_tiles = 4 : i32 -// MAPPING-SAME: y_tiles = 4 : i32 -// -// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 1 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %2 = neura.reserve {dfg_id = 2 : i32} : !neura.data -// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %4 = neura.phi_start %3, %2 {dfg_id = 8 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data -// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 5 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %7 = neura.phi_start %6, %5 {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 11 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = neura.load_indexed [%8 : !neura.data] {dfg_id = 15 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 3 : i32}]} : !neura.data -// MAPPING-NEXT: %10 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %11 = neura.load_indexed [%10 : !neura.data] {dfg_id = 14 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data -// MAPPING-NEXT: %12 = "neura.data_mov"(%11) {dfg_id = 18 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %13 = "neura.data_mov"(%9) {dfg_id = 19 : i32, mapping_locs = [{id = 45 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.mul_add"(%12, %13, %14) {dfg_id = 21 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %16 = "neura.data_mov"(%7) {dfg_id = 9 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %17 = "neura.add"(%16) {dfg_id = 13 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.data_mov"(%17) {dfg_id = 17 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %19 = "neura.icmp"(%18) <{cmpType = "eq"}> {dfg_id = 20 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 32 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = "neura.data_mov"(%19) {dfg_id = 23 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %21 = "neura.not"(%20) {dfg_id = 26 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %22 = "neura.data_mov"(%17) {dfg_id = 16 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %23 = "neura.data_mov"(%21) {dfg_id = 29 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %24 = neura.grant_predicate %22, %23 {dfg_id = 32 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %24 -> %5 {dfg_id = 35 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %25 = "neura.data_mov"(%15) {dfg_id = 25 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %26 = "neura.data_mov"(%21) {dfg_id = 28 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %27 = neura.grant_predicate %25, %26 {dfg_id = 31 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %27 -> %2 {dfg_id = 34 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%15) {dfg_id = 24 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %29 = "neura.data_mov"(%19) {dfg_id = 22 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 27 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%30) {dfg_id = 30 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_value %31 : !neura.data {dfg_id = 33 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} -// MAPPING-NEXT: neura.yield {dfg_id = 4 : i32} +// MAPPING: func.func @_Z6kernelPiS_S_(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readnone}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> (i32 {llvm.noundef}) attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 5 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 5 : i32, res_mii = 1 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["mustprogress", "nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64, will_return} { +// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 1 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %2 = neura.reserve {dfg_id = 2 : i32} : !neura.data +// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %4 = neura.phi_start %3, %2 {dfg_id = 8 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data +// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 5 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %7 = neura.phi_start %6, %5 {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 11 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 27 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = neura.load_indexed [%8 : !neura.data] {dfg_id = 15 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data +// MAPPING-NEXT: %10 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 19 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = neura.load_indexed [%10 : !neura.data] {dfg_id = 14 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data +// MAPPING-NEXT: %12 = "neura.data_mov"(%11) {dfg_id = 18 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %13 = "neura.data_mov"(%9) {dfg_id = 19 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 29 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 160 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.mul_add"(%12, %13, %14) {dfg_id = 21 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %16 = "neura.data_mov"(%7) {dfg_id = 9 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %17 = "neura.add"(%16) {dfg_id = 13 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.data_mov"(%17) {dfg_id = 17 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %19 = "neura.icmp"(%18) <{cmpType = "eq"}> {dfg_id = 20 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 32 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = "neura.data_mov"(%19) {dfg_id = 23 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %21 = "neura.not"(%20) {dfg_id = 26 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %22 = "neura.data_mov"(%17) {dfg_id = 16 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = "neura.data_mov"(%21) {dfg_id = 29 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %24 = neura.grant_predicate %22, %23 {dfg_id = 32 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %24 -> %5 {dfg_id = 35 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %25 = "neura.data_mov"(%15) {dfg_id = 25 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %26 = "neura.data_mov"(%21) {dfg_id = 28 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 29 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %27 = neura.grant_predicate %25, %26 {dfg_id = 31 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %27 -> %2 {dfg_id = 34 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%15) {dfg_id = 24 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = "neura.data_mov"(%19) {dfg_id = 22 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 27 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%30) {dfg_id = 30 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_value %31 : !neura.data {dfg_id = 33 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 4 : i32} +// MAPPING-NEXT: } // ASM: # Compiled II: 5 - -// ASM: PE(2,1): +// ASM: PE(1,0): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(2,0): // ASM-NEXT: { -// ASM-NEXT: RETURN_VALUE, [NORTH, RED] (t=5, inv_iters=1) +// ASM-NEXT: LOAD_INDEXED, [NORTH, RED] -> [WEST, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(1,1): +// ASM-NEXT: { +// ASM-NEXT: MUL_ADD, [SOUTH, RED], [NORTH, RED], [$0] -> [$0], [NORTH, RED] (t=5, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [EAST, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(2,1): +// ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [#0] -> [$0] (t=1, inv_iters=0) -// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$1] (t=6, inv_iters=1) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$1] -> [NORTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [WEST, RED] -> [WEST, RED] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) - +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: LOAD_INDEXED, [EAST, RED] -> [EAST, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) // ASM: PE(1,2): // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [EAST, RED] (t=5, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=5, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: LOAD_INDEXED, [EAST, RED] -> [EAST, RED] (t=2, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$0] -> [$0] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: ICMP_EQ, [EAST, RED], [#32] -> [$0], [EAST, RED] (t=3, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=2, inv_iters=0) +// ASM-NEXT: RETURN_VALUE, [$0] (t=7, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { -// ASM-NEXT: NOT, [$0] -> [$1], [EAST, RED] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=4, inv_iters=0) // ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) - // ASM: PE(2,2): // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$1], [WEST, RED] -> [SOUTH, RED] (t=5, inv_iters=1) +// ASM-NEXT: GRANT_PREDICATE, [$1], [$0] -> [$0] (t=5, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [EAST, RED], [WEST, RED] -> [NORTH, RED], [WEST, RED], [$0] (t=1, inv_iters=0) +// ASM-NEXT: PHI_START, [EAST, RED], [$0] -> [WEST, RED], [SOUTH, RED], [$0] (t=1, inv_iters=0) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: ADD, [$0], [#1] -> [WEST, RED], [$0] (t=2, inv_iters=0) +// ASM-NEXT: ADD, [$0], [#1] -> [$0], [$1] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { -// ASM-NEXT: MUL_ADD, [WEST, RED], [NORTH, RED], [SOUTH, RED] -> [$1], [$0] (t=3, inv_iters=0) -// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=3, inv_iters=0) +// ASM-NEXT: ICMP_EQ, [$0], [#32] -> [$0], [WEST, RED] (t=3, inv_iters=0) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [SOUTH, RED] (t=4, inv_iters=0) +// ASM-NEXT: NOT, [$0] -> [$0], [WEST, RED] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) - // ASM: PE(3,2): // ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [#0] -> [WEST, RED] (t=0, inv_iters=0) // ASM-NEXT: } (idx_per_ii=0) -// ASM: PE(2,3): -// ASM-NEXT: { -// ASM-NEXT: LOAD_INDEXED, [SOUTH, RED] -> [SOUTH, RED] (t=2, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=2) - - // YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 5 // YAML-NEXT: cores: +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 180001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" // YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD_INDEXED" +// YAML-NEXT: id: 14 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 // YAML-NEXT: row: 1 -// YAML-NEXT: core_id: "6" +// YAML-NEXT: core_id: "5" // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: // YAML-NEXT: - index_per_ii: 0 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "RETURN_VALUE" -// YAML-NEXT: id: 33 +// YAML-NEXT: - opcode: "MUL_ADD" +// YAML-NEXT: id: 21 // YAML-NEXT: time_step: 5 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 31 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 12 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: // YAML-NEXT: - index_per_ii: 1 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "GRANT_ONCE" @@ -146,16 +225,6 @@ // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - opcode: "CTRL_MOV" -// YAML-NEXT: id: 34 -// YAML-NEXT: time_step: 6 -// YAML-NEXT: invalid_iterations: 1 -// YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "NORTH" -// YAML-NEXT: color: "RED" -// YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$1" -// YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 2 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "PHI_START" @@ -165,11 +234,39 @@ // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "$1" +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 100001 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD_INDEXED" +// YAML-NEXT: id: 15 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" // YAML-NEXT: - column: 1 // YAML-NEXT: row: 2 // YAML-NEXT: core_id: "9" @@ -178,62 +275,63 @@ // YAML-NEXT: instructions: // YAML-NEXT: - index_per_ii: 0 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "GRANT_PREDICATE" -// YAML-NEXT: id: 32 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 280001 // YAML-NEXT: time_step: 5 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "$0" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "$1" +// YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "SOUTH" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: - index_per_ii: 1 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "LOAD_INDEXED" -// YAML-NEXT: id: 14 -// YAML-NEXT: time_step: 2 -// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 27 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: - index_per_ii: 2 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "ICMP_EQ" -// YAML-NEXT: id: 20 -// YAML-NEXT: time_step: 3 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 110001 +// YAML-NEXT: time_step: 2 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "#32" -// YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$0" +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - opcode: "RETURN_VALUE" +// YAML-NEXT: id: 33 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 4 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "NOT" -// YAML-NEXT: id: 26 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 190001 // YAML-NEXT: time_step: 4 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "$0" +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$1" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "SOUTH" // YAML-NEXT: color: "RED" // YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 16 +// YAML-NEXT: id: 22 // YAML-NEXT: time_step: 4 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: @@ -251,16 +349,16 @@ // YAML-NEXT: - index_per_ii: 0 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "GRANT_PREDICATE" -// YAML-NEXT: id: 31 +// YAML-NEXT: id: 32 // YAML-NEXT: time_step: 5 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$1" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 1 // YAML-NEXT: operations: @@ -271,13 +369,13 @@ // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "NORTH" -// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 2 @@ -292,51 +390,39 @@ // YAML-NEXT: - operand: "#1" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "WEST" -// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 3 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "MUL_ADD" -// YAML-NEXT: id: 21 +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 20 // YAML-NEXT: time_step: 3 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "WEST" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: - operand: "#32" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$1" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "$0" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 160000 -// YAML-NEXT: time_step: 3 -// YAML-NEXT: invalid_iterations: 0 -// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 4 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "GRANT_PREDICATE" -// YAML-NEXT: id: 27 +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 26 // YAML-NEXT: time_step: 4 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "WEST" -// YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: - column: 3 // YAML-NEXT: row: 2 @@ -356,21 +442,5 @@ // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" -// YAML-NEXT: - column: 2 -// YAML-NEXT: row: 3 -// YAML-NEXT: core_id: "14" -// YAML-NEXT: entries: -// YAML-NEXT: - entry_id: "entry0" -// YAML-NEXT: instructions: -// YAML-NEXT: - index_per_ii: 2 -// YAML-NEXT: operations: -// YAML-NEXT: - opcode: "LOAD_INDEXED" -// YAML-NEXT: id: 15 -// YAML-NEXT: time_step: 2 -// YAML-NEXT: invalid_iterations: 0 -// YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "SOUTH" -// YAML-NEXT: color: "RED" -// YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "SOUTH" -// YAML-NEXT: color: "RED" + + diff --git a/test/e2e/axpy/axpy_kernel.mlir b/test/e2e/axpy/axpy_kernel.mlir index 8d3e9fba..7c7cf89e 100644 --- a/test/e2e/axpy/axpy_kernel.mlir +++ b/test/e2e/axpy/axpy_kernel.mlir @@ -29,20 +29,20 @@ // MAPPING-NEXT: %3 = neura.phi_start %2, %1 {dfg_id = 4 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %4 = "neura.data_mov"(%3) {dfg_id = 7 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %5 = "neura.gep"(%4) <{operandSegmentSizes = array}> {dfg_id = 10 : i32, lhs_value = "%arg0", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %6 = "neura.data_mov"(%5) {dfg_id = 15 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %7 = "neura.load"(%6) {dfg_id = 18 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 23 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = "neura.mul"(%8) {dfg_id = 26 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 2 : i32}], rhs_value = 3 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %6 = "neura.data_mov"(%5) {dfg_id = 15 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 22 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %7 = "neura.load"(%6) {dfg_id = 18 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 23 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = "neura.mul"(%8) {dfg_id = 26 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 0 : i32}], rhs_value = 3 : i32} : (!neura.data) -> !neura.data // MAPPING-NEXT: %10 = "neura.data_mov"(%3) {dfg_id = 6 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 448 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %11 = "neura.gep"(%10) <{operandSegmentSizes = array}> {dfg_id = 9 : i32, lhs_value = "%arg1", mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = "neura.data_mov"(%11) {dfg_id = 14 : i32, mapping_locs = [{id = 448 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %13 = "neura.load"(%12) {dfg_id = 17 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%9) {dfg_id = 29 : i32, mapping_locs = [{id = 37 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.data_mov"(%13) {dfg_id = 22 : i32, mapping_locs = [{id = 44 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %16 = "neura.add"(%14, %15) {dfg_id = 32 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %17 = "neura.data_mov"(%16) {dfg_id = 34 : i32, mapping_locs = [{id = 480 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.data_mov"(%11) {dfg_id = 13 : i32, mapping_locs = [{id = 44 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 481 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 481 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%17, %18) {dfg_id = 35 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 3 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %12 = "neura.data_mov"(%11) {dfg_id = 14 : i32, mapping_locs = [{id = 43 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 40 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %13 = "neura.load"(%12) {dfg_id = 17 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%9) {dfg_id = 29 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.data_mov"(%13) {dfg_id = 22 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 25 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %16 = "neura.add"(%14, %15) {dfg_id = 32 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %17 = "neura.data_mov"(%16) {dfg_id = 34 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.data_mov"(%11) {dfg_id = 13 : i32, mapping_locs = [{id = 45 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 17 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%17, %18) {dfg_id = 35 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () // MAPPING-NEXT: %19 = "neura.data_mov"(%3) {dfg_id = 5 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %20 = "neura.add"(%19) {dfg_id = 8 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data // MAPPING-NEXT: %21 = "neura.data_mov"(%20) {dfg_id = 12 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data @@ -53,11 +53,11 @@ // MAPPING-NEXT: %26 = "neura.data_mov"(%24) {dfg_id = 28 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %27 = neura.grant_predicate %25, %26 {dfg_id = 31 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %27 -> %1 {dfg_id = 33 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%22) {dfg_id = 19 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %29 = "neura.data_mov"(%22) {dfg_id = 20 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 24 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%30) {dfg_id = 27 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_void %31 : !neura.data {dfg_id = 30 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 1 : i32}]} +// MAPPING-NEXT: %28 = "neura.data_mov"(%22) {dfg_id = 19 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = "neura.data_mov"(%22) {dfg_id = 20 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 24 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%30) {dfg_id = 27 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_void %31 : !neura.data {dfg_id = 30 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 2 : i32}]} // MAPPING-NEXT: neura.yield {dfg_id = 2 : i32} // MAPPING-NEXT: } // MAPPING-NEXT:} @@ -67,58 +67,45 @@ // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 5 // YAML-NEXT: cores: -// YAML-NEXT: - column: 2 -// YAML-NEXT: row: 1 -// YAML-NEXT: core_id: "6" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "0" // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: -// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: - index_per_ii: 3 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "GRANT_PREDICATE" -// YAML-NEXT: id: 24 -// YAML-NEXT: time_step: 5 +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 32 +// YAML-NEXT: time_step: 8 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "$0" +// YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: - index_per_ii: 4 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "RETURN_VOID" -// YAML-NEXT: id: 30 -// YAML-NEXT: time_step: 6 +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 35 +// YAML-NEXT: time_step: 9 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 4 -// YAML-NEXT: operations: -// YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 19 -// YAML-NEXT: time_step: 4 -// YAML-NEXT: invalid_iterations: 0 -// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" -// YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$0" -// YAML-NEXT: color: "RED" // // ASM: # Compiled II: 5 -// ASM: PE(2,1): -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [$0] (t=5, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=0) +// ASM: PE(0,0): // ASM-NEXT: { -// ASM-NEXT: RETURN_VOID, [$0] (t=6, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: ADD, [EAST, RED], [NORTH, RED] -> [$0] (t=8, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=4, inv_iters=0) +// ASM-NEXT: STORE, [$0], [NORTH, RED] (t=9, inv_iters=1) // ASM-NEXT: } (idx_per_ii=4) diff --git a/test/e2e/bicg/bicg_int_kernel.mlir b/test/e2e/bicg/bicg_int_kernel.mlir index f79812ed..1c56c576 100644 --- a/test/e2e/bicg/bicg_int_kernel.mlir +++ b/test/e2e/bicg/bicg_int_kernel.mlir @@ -27,141 +27,141 @@ // RUN: FileCheck %s --input-file=tmp-generated-instructions.yaml --check-prefix=YAML // RUN: FileCheck %s --input-file=tmp-generated-instructions.asm --check-prefix=ASM -// MAPPING: func.func @kernel_bicg_int(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 10 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 9 : i32, res_mii = 4 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { -// MAPPING-NEXT: %0 = "neura.constant"() <{value = "%arg3"}> {dfg_id = 0 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %1 = "neura.constant"() <{value = 0 : i8}> {dfg_id = 1 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 3 : i32, y = 3 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %2 = "neura.constant"() <{value = 32 : i64}> {dfg_id = 2 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %3 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 3 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %4 = "neura.data_mov"(%0) {dfg_id = 13 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 30 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %5 = "neura.data_mov"(%1) {dfg_id = 14 : i32, mapping_locs = [{id = 46 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 43 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %6 = "neura.data_mov"(%2) {dfg_id = 15 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 416 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.memset"(%4, %5, %6) <{is_volatile = false}> {dfg_id = 18 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data, !neura.data) -> () -// MAPPING-NEXT: %7 = neura.reserve {dfg_id = 4 : i32} : !neura.data -// MAPPING-NEXT: %8 = "neura.data_mov"(%3) {dfg_id = 16 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = neura.phi_start %8, %7 {dfg_id = 19 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %10 = neura.reserve {dfg_id = 5 : i32} : !neura.data -// MAPPING-NEXT: %11 = "neura.data_mov"(%3) {dfg_id = 17 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = neura.phi_start %11, %10 {dfg_id = 20 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %13 = "neura.data_mov"(%12) {dfg_id = 26 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}, {id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 257 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 257 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %14 = "neura.gep"(%13) <{operandSegmentSizes = array}> {dfg_id = 32 : i32, lhs_value = "%arg4", mapping_locs = [{id = 8 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.data_mov"(%14) {dfg_id = 44 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 384 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 384 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 384 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%15) {dfg_id = 51 : i32, lhs_value = 0 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> () -// MAPPING-NEXT: %16 = "neura.data_mov"(%12) {dfg_id = 25 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 256 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 256 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %17 = "neura.gep"(%16) <{operandSegmentSizes = array}> {dfg_id = 31 : i32, lhs_value = "%arg2", mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.data_mov"(%12) {dfg_id = 24 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %19 = "neura.shl"(%18) {dfg_id = 30 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 5 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = "neura.data_mov"(%19) {dfg_id = 41 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %21 = "neura.gep"(%20) <{operandSegmentSizes = array}> {dfg_id = 48 : i32, lhs_value = "%arg0", mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %22 = neura.reserve {dfg_id = 6 : i32} : !neura.data -// MAPPING-NEXT: %23 = "neura.data_mov"(%9) {dfg_id = 22 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 32 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 32 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 32 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 32 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 32 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %24 = neura.phi_start %23, %22 {dfg_id = 28 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %25 = neura.reserve {dfg_id = 7 : i32} : !neura.data -// MAPPING-NEXT: %26 = "neura.data_mov"(%12) {dfg_id = 23 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 1 : i32}, {id = 129 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 129 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %27 = neura.phi_start %26, %25 {dfg_id = 29 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %28 = neura.reserve {dfg_id = 8 : i32} : !neura.data -// MAPPING-NEXT: %29 = "neura.data_mov"(%14) {dfg_id = 43 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %30 = neura.phi_start %29, %28 {dfg_id = 50 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %31 = neura.reserve {dfg_id = 9 : i32} : !neura.data -// MAPPING-NEXT: %32 = "neura.data_mov"(%17) {dfg_id = 42 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %33 = neura.phi_start %32, %31 {dfg_id = 49 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %34 = neura.reserve {dfg_id = 10 : i32} : !neura.data -// MAPPING-NEXT: %35 = "neura.data_mov"(%21) {dfg_id = 57 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %36 = neura.phi_start %35, %34 {dfg_id = 66 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %37 = neura.reserve {dfg_id = 11 : i32} : !neura.data -// MAPPING-NEXT: %38 = "neura.data_mov"(%9) {dfg_id = 21 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %39 = neura.phi_start %38, %37 {dfg_id = 27 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %40 = "neura.data_mov"(%36) {dfg_id = 75 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 25 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %41 = "neura.data_mov"(%39) {dfg_id = 36 : i32, mapping_locs = [{id = 130 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 2 : i32}, {id = 130 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 130 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 130 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %42 = "neura.gep"(%40, %41) <{operandSegmentSizes = array}> {dfg_id = 81 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %43 = "neura.data_mov"(%42) {dfg_id = 90 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %44 = "neura.load"(%43) {dfg_id = 98 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %45 = "neura.data_mov"(%33) {dfg_id = 59 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %46 = "neura.load"(%45) {dfg_id = 67 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %47 = "neura.data_mov"(%46) {dfg_id = 76 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 15 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %48 = "neura.data_mov"(%44) {dfg_id = 108 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %49 = "neura.mul"(%47, %48) {dfg_id = 111 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %50 = "neura.data_mov"(%39) {dfg_id = 35 : i32, mapping_locs = [{id = 131 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 2 : i32}, {id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %51 = "neura.gep"(%50) <{operandSegmentSizes = array}> {dfg_id = 47 : i32, lhs_value = "%arg3", mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %52 = "neura.data_mov"(%51) {dfg_id = 56 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %53 = "neura.load"(%52) {dfg_id = 65 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %54 = "neura.data_mov"(%53) {dfg_id = 73 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %55 = "neura.data_mov"(%49) {dfg_id = 116 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %56 = "neura.add"(%54, %55) {dfg_id = 120 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %57 = "neura.data_mov"(%56) {dfg_id = 125 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %58 = "neura.data_mov"(%51) {dfg_id = 55 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 3 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 64 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 64 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%57, %58) {dfg_id = 130 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %59 = "neura.data_mov"(%39) {dfg_id = 34 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %60 = "neura.gep"(%59) <{operandSegmentSizes = array}> {dfg_id = 46 : i32, lhs_value = "%arg1", mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %61 = "neura.data_mov"(%60) {dfg_id = 54 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %62 = "neura.load"(%61) {dfg_id = 64 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %63 = "neura.data_mov"(%62) {dfg_id = 72 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %64 = "neura.data_mov"(%44) {dfg_id = 107 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %65 = "neura.mul"(%63, %64) {dfg_id = 110 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %66 = "neura.data_mov"(%30) {dfg_id = 62 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %67 = "neura.load"(%66) {dfg_id = 68 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %68 = "neura.data_mov"(%67) {dfg_id = 77 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 11 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %69 = "neura.data_mov"(%65) {dfg_id = 115 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %70 = "neura.add"(%68, %69) {dfg_id = 119 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %71 = "neura.data_mov"(%70) {dfg_id = 124 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %72 = "neura.data_mov"(%30) {dfg_id = 61 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 11 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 32 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%71, %72) {dfg_id = 129 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %73 = "neura.data_mov"(%39) {dfg_id = 33 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %74 = "neura.add"(%73) {dfg_id = 45 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %75 = "neura.data_mov"(%74) {dfg_id = 53 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %76 = "neura.icmp"(%75) <{cmpType = "eq"}> {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 8 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %77 = "neura.data_mov"(%76) {dfg_id = 71 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %78 = "neura.not"(%77) {dfg_id = 80 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %79 = "neura.data_mov"(%74) {dfg_id = 52 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 160 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %80 = "neura.data_mov"(%78) {dfg_id = 89 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 161 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %81 = neura.grant_predicate %79, %80 {dfg_id = 97 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %81 -> %37 {dfg_id = 106 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 130 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 130 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 130 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 130 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %82 = "neura.data_mov"(%36) {dfg_id = 74 : i32, mapping_locs = [{id = 292 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 4 : i32}, {id = 292 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 5 : i32}, {id = 292 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 6 : i32}, {id = 292 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 7 : i32}, {id = 292 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 8 : i32}, {id = 292 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}, {id = 292 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %83 = "neura.data_mov"(%78) {dfg_id = 88 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 17 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 16 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 293 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 8 : i32}, {id = 293 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 9 : i32}, {id = 293 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %84 = neura.grant_predicate %82, %83 {dfg_id = 96 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %84 -> %34 {dfg_id = 105 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 289 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %85 = "neura.data_mov"(%33) {dfg_id = 58 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 290 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 290 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %86 = "neura.data_mov"(%78) {dfg_id = 87 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 5 : i32}, {id = 16 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 291 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 291 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 291 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %87 = neura.grant_predicate %85, %86 {dfg_id = 95 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %87 -> %31 {dfg_id = 104 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %88 = "neura.data_mov"(%30) {dfg_id = 60 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %89 = "neura.data_mov"(%78) {dfg_id = 86 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 289 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 289 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 289 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %90 = neura.grant_predicate %88, %89 {dfg_id = 94 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %90 -> %28 {dfg_id = 103 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 258 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 258 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 258 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 258 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 258 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 258 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %91 = "neura.data_mov"(%27) {dfg_id = 40 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 129 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 129 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 129 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 129 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %92 = "neura.data_mov"(%78) {dfg_id = 85 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 128 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 128 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 128 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %93 = neura.grant_predicate %91, %92 {dfg_id = 93 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %93 -> %25 {dfg_id = 102 : i32, mapping_locs = [{id = 132 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}, {id = 132 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 132 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 132 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 132 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %94 = "neura.data_mov"(%24) {dfg_id = 38 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 4 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %95 = "neura.data_mov"(%78) {dfg_id = 84 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 163 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 163 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %96 = neura.grant_predicate %94, %95 {dfg_id = 92 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %96 -> %22 {dfg_id = 101 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 33 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 33 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 33 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 33 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 33 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %97 = "neura.data_mov"(%27) {dfg_id = 39 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %98 = "neura.data_mov"(%76) {dfg_id = 70 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %99 = neura.grant_predicate %97, %98 {dfg_id = 79 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %100 = "neura.data_mov"(%24) {dfg_id = 37 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %101 = "neura.data_mov"(%76) {dfg_id = 69 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 162 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %102 = neura.grant_predicate %100, %101 {dfg_id = 78 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %103 = "neura.data_mov"(%99) {dfg_id = 83 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %104 = "neura.add"(%103) {dfg_id = 91 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %105 = "neura.data_mov"(%104) {dfg_id = 100 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %106 = "neura.icmp"(%105) <{cmpType = "eq"}> {dfg_id = 109 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 8 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %107 = "neura.data_mov"(%106) {dfg_id = 114 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %108 = "neura.not"(%107) {dfg_id = 118 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %109 = "neura.data_mov"(%104) {dfg_id = 99 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 6 : i32}, {id = 164 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 7 : i32}, {id = 164 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 8 : i32}, {id = 164 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %110 = "neura.data_mov"(%108) {dfg_id = 123 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 17 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %111 = neura.grant_predicate %109, %110 {dfg_id = 128 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %111 -> %10 {dfg_id = 132 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 10 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %112 = "neura.data_mov"(%102) {dfg_id = 82 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 128 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %113 = "neura.data_mov"(%108) {dfg_id = 122 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 13 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %114 = neura.grant_predicate %112, %113 {dfg_id = 127 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %114 -> %7 {dfg_id = 131 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 10 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %115 = "neura.data_mov"(%106) {dfg_id = 112 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %116 = "neura.data_mov"(%106) {dfg_id = 113 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 194 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %117 = neura.grant_predicate %115, %116 {dfg_id = 117 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %118 = "neura.data_mov"(%117) {dfg_id = 121 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_void %118 : !neura.data {dfg_id = 126 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} -// MAPPING-NEXT: neura.yield {dfg_id = 12 : i32} -// MAPPING-NEXT: } +// MAPPING: func.func @kernel_bicg_int(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 10 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 9 : i32, res_mii = 4 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { +// MAPPING-NEXT: %0 = "neura.constant"() <{value = "%arg3"}> {dfg_id = 0 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 3 : i32, y = 1 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.constant"() <{value = 0 : i8}> {dfg_id = 1 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %2 = "neura.constant"() <{value = 32 : i64}> {dfg_id = 2 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 3 : i32, y = 3 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %3 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 3 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %4 = "neura.data_mov"(%0) {dfg_id = 13 : i32, mapping_locs = [{id = 23 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %5 = "neura.data_mov"(%1) {dfg_id = 14 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %6 = "neura.data_mov"(%2) {dfg_id = 15 : i32, mapping_locs = [{id = 47 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.memset"(%4, %5, %6) <{is_volatile = false}> {dfg_id = 18 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data, !neura.data) -> () +// MAPPING-NEXT: %7 = neura.reserve {dfg_id = 4 : i32} : !neura.data +// MAPPING-NEXT: %8 = "neura.data_mov"(%3) {dfg_id = 16 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = neura.phi_start %8, %7 {dfg_id = 19 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %10 = neura.reserve {dfg_id = 5 : i32} : !neura.data +// MAPPING-NEXT: %11 = "neura.data_mov"(%3) {dfg_id = 17 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = neura.phi_start %11, %10 {dfg_id = 20 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %13 = "neura.data_mov"(%12) {dfg_id = 26 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}, {id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 8001 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 8001 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.gep"(%13) <{operandSegmentSizes = array}> {dfg_id = 32 : i32, lhs_value = "%arg4", mapping_locs = [{id = 8 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.data_mov"(%14) {dfg_id = 44 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 12000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 12000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 12000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%15) {dfg_id = 51 : i32, lhs_value = 0 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> () +// MAPPING-NEXT: %16 = "neura.data_mov"(%12) {dfg_id = 25 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 8000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 8000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %17 = "neura.gep"(%16) <{operandSegmentSizes = array}> {dfg_id = 31 : i32, lhs_value = "%arg2", mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.data_mov"(%12) {dfg_id = 24 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %19 = "neura.shl"(%18) {dfg_id = 30 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 5 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = "neura.data_mov"(%19) {dfg_id = 41 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %21 = "neura.gep"(%20) <{operandSegmentSizes = array}> {dfg_id = 48 : i32, lhs_value = "%arg0", mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %22 = neura.reserve {dfg_id = 6 : i32} : !neura.data +// MAPPING-NEXT: %23 = "neura.data_mov"(%9) {dfg_id = 22 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 1 : i32}, {id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 2 : i32}, {id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 2 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %24 = neura.phi_start %23, %22 {dfg_id = 28 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %25 = neura.reserve {dfg_id = 7 : i32} : !neura.data +// MAPPING-NEXT: %26 = "neura.data_mov"(%12) {dfg_id = 23 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 1 : i32}, {id = 4001 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 4001 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %27 = neura.phi_start %26, %25 {dfg_id = 29 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %28 = neura.reserve {dfg_id = 8 : i32} : !neura.data +// MAPPING-NEXT: %29 = "neura.data_mov"(%14) {dfg_id = 43 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %30 = neura.phi_start %29, %28 {dfg_id = 50 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %31 = neura.reserve {dfg_id = 9 : i32} : !neura.data +// MAPPING-NEXT: %32 = "neura.data_mov"(%17) {dfg_id = 42 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %33 = neura.phi_start %32, %31 {dfg_id = 49 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %34 = neura.reserve {dfg_id = 10 : i32} : !neura.data +// MAPPING-NEXT: %35 = "neura.data_mov"(%21) {dfg_id = 57 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %36 = neura.phi_start %35, %34 {dfg_id = 66 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %37 = neura.reserve {dfg_id = 11 : i32} : !neura.data +// MAPPING-NEXT: %38 = "neura.data_mov"(%9) {dfg_id = 21 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %39 = neura.phi_start %38, %37 {dfg_id = 27 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %40 = "neura.data_mov"(%36) {dfg_id = 75 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 25 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %41 = "neura.data_mov"(%39) {dfg_id = 36 : i32, mapping_locs = [{id = 4002 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 2 : i32}, {id = 4002 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 4002 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 4002 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %42 = "neura.gep"(%40, %41) <{operandSegmentSizes = array}> {dfg_id = 81 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %43 = "neura.data_mov"(%42) {dfg_id = 90 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %44 = "neura.load"(%43) {dfg_id = 98 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %45 = "neura.data_mov"(%33) {dfg_id = 59 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 8000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %46 = "neura.load"(%45) {dfg_id = 67 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %47 = "neura.data_mov"(%46) {dfg_id = 76 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %48 = "neura.data_mov"(%44) {dfg_id = 108 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %49 = "neura.mul"(%47, %48) {dfg_id = 111 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %50 = "neura.data_mov"(%39) {dfg_id = 35 : i32, mapping_locs = [{id = 4003 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 2 : i32}, {id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %51 = "neura.gep"(%50) <{operandSegmentSizes = array}> {dfg_id = 47 : i32, lhs_value = "%arg3", mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %52 = "neura.data_mov"(%51) {dfg_id = 56 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %53 = "neura.load"(%52) {dfg_id = 65 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %54 = "neura.data_mov"(%53) {dfg_id = 73 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %55 = "neura.data_mov"(%49) {dfg_id = 116 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %56 = "neura.add"(%54, %55) {dfg_id = 120 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %57 = "neura.data_mov"(%56) {dfg_id = 125 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 15 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %58 = "neura.data_mov"(%51) {dfg_id = 55 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 1000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 1000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%57, %58) {dfg_id = 130 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %59 = "neura.data_mov"(%39) {dfg_id = 34 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %60 = "neura.gep"(%59) <{operandSegmentSizes = array}> {dfg_id = 46 : i32, lhs_value = "%arg1", mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %61 = "neura.data_mov"(%60) {dfg_id = 54 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %62 = "neura.load"(%61) {dfg_id = 64 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %63 = "neura.data_mov"(%62) {dfg_id = 72 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %64 = "neura.data_mov"(%44) {dfg_id = 107 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %65 = "neura.mul"(%63, %64) {dfg_id = 110 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %66 = "neura.data_mov"(%30) {dfg_id = 62 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %67 = "neura.load"(%66) {dfg_id = 68 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %68 = "neura.data_mov"(%67) {dfg_id = 77 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 8000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %69 = "neura.data_mov"(%65) {dfg_id = 115 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %70 = "neura.add"(%68, %69) {dfg_id = 119 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %71 = "neura.data_mov"(%70) {dfg_id = 124 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %72 = "neura.data_mov"(%30) {dfg_id = 61 : i32, mapping_locs = [{id = 8001 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 8001 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 8001 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 8001 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%71, %72) {dfg_id = 129 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %73 = "neura.data_mov"(%39) {dfg_id = 33 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %74 = "neura.add"(%73) {dfg_id = 45 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %75 = "neura.data_mov"(%74) {dfg_id = 53 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %76 = "neura.icmp"(%75) <{cmpType = "eq"}> {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 8 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %77 = "neura.data_mov"(%76) {dfg_id = 71 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %78 = "neura.not"(%77) {dfg_id = 80 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %79 = "neura.data_mov"(%74) {dfg_id = 52 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 160 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %80 = "neura.data_mov"(%78) {dfg_id = 89 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 161 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %81 = neura.grant_predicate %79, %80 {dfg_id = 97 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %81 -> %37 {dfg_id = 106 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 4002 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 4002 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 4002 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 4002 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %82 = "neura.data_mov"(%36) {dfg_id = 74 : i32, mapping_locs = [{id = 292 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 4 : i32}, {id = 292 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 5 : i32}, {id = 292 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 6 : i32}, {id = 292 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 7 : i32}, {id = 292 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 8 : i32}, {id = 292 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}, {id = 292 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %83 = "neura.data_mov"(%78) {dfg_id = 88 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 17 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 16 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 293 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 8 : i32}, {id = 293 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 9 : i32}, {id = 293 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %84 = neura.grant_predicate %82, %83 {dfg_id = 96 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %84 -> %34 {dfg_id = 105 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 289 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %85 = "neura.data_mov"(%33) {dfg_id = 58 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 290 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 290 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %86 = "neura.data_mov"(%78) {dfg_id = 87 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 16 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 291 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 291 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 291 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %87 = neura.grant_predicate %85, %86 {dfg_id = 95 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %87 -> %31 {dfg_id = 104 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %88 = "neura.data_mov"(%30) {dfg_id = 60 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %89 = "neura.data_mov"(%78) {dfg_id = 86 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 289 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 289 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 289 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %90 = neura.grant_predicate %88, %89 {dfg_id = 94 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %90 -> %28 {dfg_id = 103 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 8002 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 8002 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 8002 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 8002 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 8002 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 8002 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %91 = "neura.data_mov"(%27) {dfg_id = 40 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 160 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %92 = "neura.data_mov"(%78) {dfg_id = 85 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 162 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 162 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %93 = neura.grant_predicate %91, %92 {dfg_id = 93 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %93 -> %25 {dfg_id = 102 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 4004 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 4004 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 4004 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 4004 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %94 = "neura.data_mov"(%24) {dfg_id = 38 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %95 = "neura.data_mov"(%78) {dfg_id = 84 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 11 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %96 = neura.grant_predicate %94, %95 {dfg_id = 92 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %96 -> %22 {dfg_id = 101 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 3 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 3 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %97 = "neura.data_mov"(%27) {dfg_id = 39 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %98 = "neura.data_mov"(%76) {dfg_id = 70 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %99 = neura.grant_predicate %97, %98 {dfg_id = 79 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %100 = "neura.data_mov"(%24) {dfg_id = 37 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %101 = "neura.data_mov"(%76) {dfg_id = 69 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 1000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 1000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %102 = neura.grant_predicate %100, %101 {dfg_id = 78 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %103 = "neura.data_mov"(%99) {dfg_id = 83 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %104 = "neura.add"(%103) {dfg_id = 91 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %105 = "neura.data_mov"(%104) {dfg_id = 100 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %106 = "neura.icmp"(%105) <{cmpType = "eq"}> {dfg_id = 109 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 8 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %107 = "neura.data_mov"(%106) {dfg_id = 114 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %108 = "neura.not"(%107) {dfg_id = 118 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %109 = "neura.data_mov"(%104) {dfg_id = 99 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 163 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %110 = "neura.data_mov"(%108) {dfg_id = 123 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 160 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %111 = neura.grant_predicate %109, %110 {dfg_id = 128 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %111 -> %10 {dfg_id = 132 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 10 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %112 = "neura.data_mov"(%102) {dfg_id = 82 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %113 = "neura.data_mov"(%108) {dfg_id = 122 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %114 = neura.grant_predicate %112, %113 {dfg_id = 127 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %114 -> %7 {dfg_id = 131 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 10 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %115 = "neura.data_mov"(%106) {dfg_id = 112 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %116 = "neura.data_mov"(%106) {dfg_id = 113 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 194 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %117 = neura.grant_predicate %115, %116 {dfg_id = 117 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %118 = "neura.data_mov"(%117) {dfg_id = 121 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_void %118 : !neura.data {dfg_id = 126 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 12 : i32} +// MAPPING-NEXT: } // YAML: array_config: @@ -198,25 +198,1149 @@ // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 34 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 35 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 46 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 400001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 47 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 28 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 720001 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 84 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 730001 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 92 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 1310001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 130 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 69 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 64 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 65 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 78 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 55 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 127 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "4" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 102 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 20 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 27 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 260000 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 45 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 350000 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 29 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 520000 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 79 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 81 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 400002 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 840001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 98 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 550001 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 110 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 106 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 120 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 128 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1250001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SHL" +// YAML-NEXT: id: 30 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 48 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 63 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 80 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 52 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 91 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 870000 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 97 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 880002 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 40 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 550002 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 93 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 123 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VOID" +// YAML-NEXT: id: 126 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 880001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 109 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 118 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 117 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 129 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 103 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 25 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 26 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 31 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 32 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 750001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 50 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 59 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 67 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 111 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" // YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 77 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 119 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 95 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 96 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 66 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 49 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 34 -// YAML-NEXT: time_step: 3 +// YAML-NEXT: id: 86 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 87 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 60 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 88 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 94 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "11" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 1 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MEMSET" +// YAML-NEXT: id: 18 +// YAML-NEXT: time_step: 9 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "12" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 44 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 68 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 51 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "15" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 2 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#32" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" + // ASM: # Compiled II: 10 // ASM: PE(0,0): @@ -224,7 +1348,7 @@ // ASM-NEXT: GRANT_ONCE, [#0] -> [$0], [NORTH, RED] (t=0, inv_iters=0) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [NORTH, RED] -> [EAST, RED], [NORTH, RED] (t=1, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [EAST, RED] -> [$2], [NORTH, RED] (t=1, inv_iters=0) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=3, inv_iters=0) @@ -234,41 +1358,218 @@ // ASM-NEXT: } (idx_per_ii=4) // ASM-NEXT: { // ASM-NEXT: GEP, [$0] -> [EAST, RED] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [NORTH, RED] (t=5, inv_iters=0) // ASM-NEXT: } (idx_per_ii=5) // ASM-NEXT: { -// ASM-NEXT: GEP, [$1] -> [NORTH, RED], [EAST, RED] (t=6, inv_iters=0) +// ASM-NEXT: GEP, [$1] -> [EAST, RED], [NORTH, RED] (t=6, inv_iters=0) // ASM-NEXT: } (idx_per_ii=6) // ASM-NEXT: { -// ASM-NEXT: LOAD, [NORTH, RED] -> [EAST, RED], [$1] (t=7, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: PHI_START, [$2], [$3] -> [$0], [EAST, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=7, inv_iters=0) // ASM-NEXT: } (idx_per_ii=7) // ASM-NEXT: { -// ASM-NEXT: MUL, [$0], [$1] -> [$0] (t=8, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=8, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=8, inv_iters=0) // ASM-NEXT: } (idx_per_ii=8) // ASM-NEXT: { -// ASM-NEXT: ADD, [NORTH, RED], [$0] -> [EAST, RED] (t=9, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [$3] (t=9, inv_iters=0) // ASM-NEXT: } (idx_per_ii=9) // ASM: PE(1,0): // ASM-NEXT: { -// ASM-NEXT: STORE, [WEST, RED], [$0] (t=10, inv_iters=1) -// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$1] (t=10, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [WEST, RED] (t=10, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=2, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: STORE, [NORTH, RED], [$0] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) // ASM-NEXT: { // ASM-NEXT: LOAD, [WEST, RED] -> [WEST, RED] (t=6, inv_iters=0) // ASM-NEXT: } (idx_per_ii=6) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$1] -> [$0], [NORTH, RED] (t=7, inv_iters=0) -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=7, inv_iters=0) +// ASM-NEXT: LOAD, [WEST, RED] -> [WEST, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [WEST, RED], [$0] -> [EAST, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(2,0): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [WEST, RED], [NORTH, RED] -> [WEST, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$4] (t=10, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [EAST, RED] -> [$0], [NORTH, RED], [EAST, RED], [$1] (t=1, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$2] -> [$2], [$3], [SOUTH, RED], [$0] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [EAST, RED], [$0] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$3] -> [SOUTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$1], [$4] -> [SOUTH, RED], [$0] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [EAST, RED] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GEP, [NORTH, RED], [$2] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=6, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [NORTH, RED], [$0] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: MUL, [SOUTH, RED], [$0] -> [NORTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$2] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: ADD, [SOUTH, RED], [NORTH, RED] -> [EAST, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(1,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$3], [$0] -> [WEST, RED] (t=10, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=10, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: SHL, [WEST, RED], [#5] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [NORTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [WEST, RED], [#8] -> [$0], [WEST, RED], [SOUTH, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$1], [EAST, RED], [$3], [NORTH, RED], [$2], [WEST, RED] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: ADD, [WEST, RED], [#1] -> [EAST, RED], [$3] (t=6, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$3] -> [NORTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [WEST, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$2] -> [WEST, RED] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: RETURN_VOID, [$0] (t=10, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [WEST, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [WEST, RED], [#8] -> [$0], [$1], [$2] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [WEST, RED], [SOUTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [arg3] -> [NORTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$1] (t=10, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$2] (t=10, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [EAST, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$1] -> [NORTH, RED], [$0] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [NORTH, RED], [$1], [EAST, RED] (t=6, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [SOUTH, RED] -> [SOUTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [SOUTH, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(1,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [$0] (t=10, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$4], [$5] -> [$1] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$1] -> [WEST, RED], [$4] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [WEST, RED], [$0] -> [WEST, RED], [$2] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$3] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=7, inv_iters=0) // ASM-NEXT: } (idx_per_ii=7) // ASM-NEXT: { -// ASM-NEXT: MUL, [NORTH, RED], [WEST, RED] -> [$0] (t=8, inv_iters=0) -// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$5] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [WEST, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(3,2): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [#0] -> [$0] (t=8, inv_iters=0) // ASM-NEXT: } (idx_per_ii=8) // ASM-NEXT: { -// ASM-NEXT: ADD, [NORTH, RED], [$0] -> [EAST, RED] (t=9, inv_iters=0) -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: MEMSET, [SOUTH, RED], [$0], [NORTH, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(0,3): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [SOUTH, RED] -> [SOUTH, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0] (t=9, inv_iters=0) // ASM-NEXT: } (idx_per_ii=9) +// ASM: PE(3,3): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [#32] -> [SOUTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) + + diff --git a/test/e2e/bicg/bicg_kernel.mlir b/test/e2e/bicg/bicg_kernel.mlir index 0ddca0ec..393dd0ae 100644 --- a/test/e2e/bicg/bicg_kernel.mlir +++ b/test/e2e/bicg/bicg_kernel.mlir @@ -160,11 +160,11 @@ // AFTER_CANONICALIZE-NEXT: "neura.return"() : () -> () -// MAPPING: func.func @kernel(%arg0: i32 {llvm.noundef}, %arg1: i32 {llvm.noundef}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg5: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg6: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 12 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 9 : i32, res_mii = 6 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { +// MAPPING: func.func @kernel(%arg0: i32 {llvm.noundef}, %arg1: i32 {llvm.noundef}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg5: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg6: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 12 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 9 : i32, res_mii = 6 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { // MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = "%arg0"}> {dfg_id = 0 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 1 : i32}]} : () -> !neura.data // MAPPING-NEXT: %1 = "neura.constant"() <{value = "%arg0"}> {dfg_id = 1 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data // MAPPING-NEXT: %2 = "neura.grant_once"() <{constant_value = "%arg1"}> {dfg_id = 2 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %3 = "neura.grant_once"() <{constant_value = "%arg3"}> {dfg_id = 3 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 3 : i32, y = 3 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %3 = "neura.grant_once"() <{constant_value = "%arg3"}> {dfg_id = 3 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 2 : i32}]} : () -> !neura.data // MAPPING-NEXT: %4 = "neura.grant_once"() <{constant_value = "%arg4"}> {dfg_id = 4 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 3 : i32}]} : () -> !neura.data // MAPPING-NEXT: %5 = "neura.grant_once"() <{constant_value = 0 : i8}> {dfg_id = 5 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data // MAPPING-NEXT: %6 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 6 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data @@ -172,16 +172,16 @@ // MAPPING-NEXT: %8 = "neura.icmp"(%7) <{cmpType = "sgt"}> {dfg_id = 28 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data // MAPPING-NEXT: %9 = "neura.data_mov"(%8) {dfg_id = 29 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %10 = "neura.grant_once"(%9) {dfg_id = 30 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %11 = "neura.data_mov"(%0) {dfg_id = 19 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = "neura.data_mov"(%10) {dfg_id = 36 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 129 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = "neura.data_mov"(%0) {dfg_id = 19 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = "neura.data_mov"(%10) {dfg_id = 36 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 4001 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %13 = neura.grant_predicate %11, %12 {dfg_id = 42 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%3) {dfg_id = 23 : i32, mapping_locs = [{id = 46 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.data_mov"(%10) {dfg_id = 35 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 2 : i32}, {id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 16 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 30 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 41 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 449 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 449 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 449 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 449 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 449 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %16 = neura.grant_predicate %14, %15 {dfg_id = 41 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %17 = "neura.data_mov"(%5) {dfg_id = 25 : i32, mapping_locs = [{id = 258 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 258 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.data_mov"(%10) {dfg_id = 34 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 2 : i32}, {id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 259 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 259 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 259 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 259 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 259 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 259 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 259 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 259 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 259 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %19 = neura.grant_predicate %17, %18 {dfg_id = 40 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %20 = "neura.data_mov"(%2) {dfg_id = 21 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 64 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%3) {dfg_id = 23 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.data_mov"(%10) {dfg_id = 35 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 2 : i32}, {id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 163 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 163 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 163 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 163 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 163 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 163 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %16 = neura.grant_predicate %14, %15 {dfg_id = 41 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %17 = "neura.data_mov"(%5) {dfg_id = 25 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.data_mov"(%10) {dfg_id = 34 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 2 : i32}, {id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 24 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 290 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 290 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 290 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 290 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 290 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 290 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %19 = neura.grant_predicate %17, %18 {dfg_id = 40 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %20 = "neura.data_mov"(%2) {dfg_id = 21 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 2000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %21 = "neura.data_mov"(%10) {dfg_id = 33 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 3 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %22 = neura.grant_predicate %20, %21 {dfg_id = 39 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %23 = "neura.data_mov"(%6) {dfg_id = 27 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 29 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data @@ -189,55 +189,55 @@ // MAPPING-NEXT: %25 = neura.grant_predicate %23, %24 {dfg_id = 38 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %26 = "neura.data_mov"(%10) {dfg_id = 31 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %27 = "neura.not"(%26) {dfg_id = 37 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%2) {dfg_id = 22 : i32, mapping_locs = [{id = 96 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 33 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 33 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 33 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 33 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 33 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%2) {dfg_id = 22 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1001 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1001 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1001 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1001 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 1001 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %29 = "neura.data_mov"(%27) {dfg_id = 45 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 55 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%4) {dfg_id = 24 : i32, mapping_locs = [{id = 384 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%4) {dfg_id = 24 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %32 = "neura.data_mov"(%27) {dfg_id = 44 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 12 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 26 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 54 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %34 = "neura.data_mov"(%5) {dfg_id = 26 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %35 = "neura.data_mov"(%27) {dfg_id = 43 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 12 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 257 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 257 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %34 = "neura.data_mov"(%5) {dfg_id = 26 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %35 = "neura.data_mov"(%27) {dfg_id = 43 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 12 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 8001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 8001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %36 = neura.grant_predicate %34, %35 {dfg_id = 53 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %37 = "neura.data_mov"(%30) {dfg_id = 61 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %37 = "neura.data_mov"(%30) {dfg_id = 61 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %38 = "neura.icmp"(%37) <{cmpType = "sgt"}> {dfg_id = 67 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %39 = "neura.data_mov"(%38) {dfg_id = 76 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 64 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %39 = "neura.data_mov"(%38) {dfg_id = 76 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 2000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %40 = "neura.not"(%39) {dfg_id = 87 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %41 = "neura.data_mov"(%40) {dfg_id = 97 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %42 = "neura.data_mov"(%40) {dfg_id = 98 : i32, mapping_locs = [{id = 65 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %41 = "neura.data_mov"(%40) {dfg_id = 97 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %42 = "neura.data_mov"(%40) {dfg_id = 98 : i32, mapping_locs = [{id = 2001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %43 = neura.grant_predicate %41, %42 {dfg_id = 108 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %44 = "neura.data_mov"(%30) {dfg_id = 60 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 33 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 33 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %45 = "neura.data_mov"(%38) {dfg_id = 75 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 32 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %44 = "neura.data_mov"(%30) {dfg_id = 60 : i32, mapping_locs = [{id = 1001 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 1001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 1001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %45 = "neura.data_mov"(%38) {dfg_id = 75 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 1000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %46 = neura.grant_predicate %44, %45 {dfg_id = 86 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %47 = "neura.data_mov"(%33) {dfg_id = 59 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 42 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %48 = "neura.data_mov"(%38) {dfg_id = 74 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %49 = neura.grant_predicate %47, %48 {dfg_id = 85 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %50 = "neura.data_mov"(%36) {dfg_id = 58 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %51 = "neura.data_mov"(%38) {dfg_id = 73 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 16 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %52 = neura.grant_predicate %50, %51 {dfg_id = 84 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %47 = "neura.data_mov"(%33) {dfg_id = 59 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 12000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %48 = "neura.data_mov"(%38) {dfg_id = 74 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 26 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %49 = neura.grant_predicate %47, %48 {dfg_id = 85 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %50 = "neura.data_mov"(%36) {dfg_id = 58 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 289 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %51 = "neura.data_mov"(%38) {dfg_id = 73 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 16 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 290 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %52 = neura.grant_predicate %50, %51 {dfg_id = 84 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %53 = "neura.data_mov"(%46) {dfg_id = 96 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %54 = neura.zext %53 {dfg_id = 107 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %55 = "neura.data_mov"(%54) {dfg_id = 116 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %56 = "neura.shl"(%55) {dfg_id = 132 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %57 = "neura.data_mov"(%49) {dfg_id = 95 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 416 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %58 = "neura.data_mov"(%52) {dfg_id = 94 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 417 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 417 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %59 = "neura.data_mov"(%56) {dfg_id = 143 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 30 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.memset"(%57, %58, %59) <{is_volatile = false}> {dfg_id = 162 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data, !neura.data) -> () -// MAPPING-NEXT: %60 = "neura.data_mov"(%56) {dfg_id = 142 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 128 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_void %60 : !neura.data {dfg_id = 161 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 1 : i32}]} -// MAPPING-NEXT: %61 = "neura.data_mov"(%13) {dfg_id = 52 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 129 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 129 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 129 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 129 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 129 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 129 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 129 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 129 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %55 = "neura.data_mov"(%54) {dfg_id = 116 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %56 = "neura.shl"(%55) {dfg_id = 132 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %57 = "neura.data_mov"(%49) {dfg_id = 95 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 42 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 289 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %58 = "neura.data_mov"(%52) {dfg_id = 94 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 290 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %59 = "neura.data_mov"(%56) {dfg_id = 143 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 16 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 291 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.memset"(%57, %58, %59) <{is_volatile = false}> {dfg_id = 162 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data, !neura.data) -> () +// MAPPING-NEXT: %60 = "neura.data_mov"(%56) {dfg_id = 142 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_void %60 : !neura.data {dfg_id = 161 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 0 : i32}]} +// MAPPING-NEXT: %61 = "neura.data_mov"(%13) {dfg_id = 52 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 4001 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 4001 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 4001 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 4001 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 4001 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 4001 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 4001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 4001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %62 = neura.zext %61 {dfg_id = 57 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %63 = "neura.data_mov"(%62) {dfg_id = 66 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 256 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %64 = "neura.shl"(%63) {dfg_id = 72 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 2 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %65 = "neura.data_mov"(%16) {dfg_id = 50 : i32, mapping_locs = [{id = 43 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 40 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %66 = "neura.data_mov"(%19) {dfg_id = 49 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 384 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %67 = "neura.data_mov"(%64) {dfg_id = 83 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.memset"(%65, %66, %67) <{is_volatile = false}> {dfg_id = 93 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data, !neura.data, !neura.data) -> () -// MAPPING-NEXT: %68 = "neura.data_mov"(%22) {dfg_id = 48 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %63 = "neura.data_mov"(%62) {dfg_id = 66 : i32, mapping_locs = [{id = 4002 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 4002 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 4002 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 4002 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %64 = "neura.shl"(%63) {dfg_id = 72 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 1 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %65 = "neura.data_mov"(%16) {dfg_id = 50 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 4000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 4000 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %66 = "neura.data_mov"(%19) {dfg_id = 49 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 4002 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %67 = "neura.data_mov"(%64) {dfg_id = 83 : i32, mapping_locs = [{id = 4003 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.memset"(%65, %66, %67) <{is_volatile = false}> {dfg_id = 93 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data, !neura.data) -> () +// MAPPING-NEXT: %68 = "neura.data_mov"(%22) {dfg_id = 48 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %69 = "neura.icmp"(%68) <{cmpType = "sgt"}> {dfg_id = 56 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 0 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %70 = "neura.data_mov"(%69) {dfg_id = 65 : i32, mapping_locs = [{id = 66 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 34 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 34 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 34 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 34 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 34 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %70 = "neura.data_mov"(%69) {dfg_id = 65 : i32, mapping_locs = [{id = 2002 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 1002 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 1002 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 1002 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 1002 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 1002 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %71 = "neura.not"(%70) {dfg_id = 71 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %72 = "neura.data_mov"(%22) {dfg_id = 47 : i32, mapping_locs = [{id = 65 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 65 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 65 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %73 = "neura.data_mov"(%69) {dfg_id = 64 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 64 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %72 = "neura.data_mov"(%22) {dfg_id = 47 : i32, mapping_locs = [{id = 2001 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 2001 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 2001 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %73 = "neura.data_mov"(%69) {dfg_id = 64 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 2000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %74 = neura.grant_predicate %72, %73 {dfg_id = 70 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %75 = "neura.data_mov"(%13) {dfg_id = 51 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 15 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %76 = "neura.data_mov"(%69) {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data @@ -245,15 +245,15 @@ // MAPPING-NEXT: %78 = "neura.data_mov"(%25) {dfg_id = 46 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %79 = "neura.data_mov"(%69) {dfg_id = 62 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 192 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %80 = neura.grant_predicate %78, %79 {dfg_id = 68 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %81 = "neura.data_mov"(%71) {dfg_id = 81 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %82 = "neura.data_mov"(%71) {dfg_id = 82 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 35 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %81 = "neura.data_mov"(%71) {dfg_id = 81 : i32, mapping_locs = [{id = 1002 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 1002 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %82 = "neura.data_mov"(%71) {dfg_id = 82 : i32, mapping_locs = [{id = 1003 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 1003 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %83 = neura.grant_predicate %81, %82 {dfg_id = 92 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %84 = "neura.data_mov"(%74) {dfg_id = 80 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %84 = "neura.data_mov"(%74) {dfg_id = 80 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %85 = neura.zext %84 {dfg_id = 91 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %86 = "neura.data_mov"(%77) {dfg_id = 79 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %86 = "neura.data_mov"(%77) {dfg_id = 79 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %87 = neura.zext %86 {dfg_id = 90 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data -> !neura.data // MAPPING-NEXT: %88 = neura.reserve {dfg_id = 7 : i32} : !neura.data -// MAPPING-NEXT: %89 = "neura.data_mov"(%85) {dfg_id = 105 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %89 = "neura.data_mov"(%85) {dfg_id = 105 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %90 = neura.phi_start %89, %88 {dfg_id = 115 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %91 = neura.reserve {dfg_id = 8 : i32} : !neura.data // MAPPING-NEXT: %92 = "neura.data_mov"(%87) {dfg_id = 104 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data @@ -266,15 +266,15 @@ // MAPPING-NEXT: %99 = neura.phi_start %98, %97 {dfg_id = 88 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %100 = "neura.data_mov"(%99) {dfg_id = 101 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 321 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 321 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %101 = "neura.gep"(%100) <{operandSegmentSizes = array}> {dfg_id = 111 : i32, lhs_value = "%arg4", mapping_locs = [{id = 10 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %102 = "neura.data_mov"(%101) {dfg_id = 123 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 451 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 451 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 451 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%102) {dfg_id = 135 : i32, lhs_value = 0.000000e+00 : f64, mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> () +// MAPPING-NEXT: %102 = "neura.data_mov"(%101) {dfg_id = 123 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 449 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 43 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 40 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 12000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%102) {dfg_id = 135 : i32, lhs_value = 0.000000e+00 : f64, mapping_locs = [{id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> () // MAPPING-NEXT: %103 = "neura.data_mov"(%99) {dfg_id = 100 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 448 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 448 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %104 = "neura.gep"(%103) <{operandSegmentSizes = array}> {dfg_id = 110 : i32, lhs_value = "%arg6", mapping_locs = [{id = 14 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %105 = neura.reserve {dfg_id = 11 : i32} : !neura.data // MAPPING-NEXT: %106 = "neura.data_mov"(%96) {dfg_id = 103 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 195 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 195 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 195 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 195 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 195 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %107 = neura.phi_start %106, %105 {dfg_id = 113 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %108 = neura.reserve {dfg_id = 12 : i32} : !neura.data -// MAPPING-NEXT: %109 = "neura.data_mov"(%90) {dfg_id = 131 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %109 = "neura.data_mov"(%90) {dfg_id = 131 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %110 = neura.phi_start %109, %108 {dfg_id = 141 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %111 = neura.reserve {dfg_id = 13 : i32} : !neura.data // MAPPING-NEXT: %112 = "neura.data_mov"(%93) {dfg_id = 130 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data @@ -295,34 +295,34 @@ // MAPPING-NEXT: %127 = "neura.gep"(%126) <{operandSegmentSizes = array}> {dfg_id = 139 : i32, lhs_value = "%arg3", mapping_locs = [{id = 7 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %128 = "neura.data_mov"(%127) {dfg_id = 155 : i32, mapping_locs = [{id = 22 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %129 = "neura.load"(%128) {dfg_id = 168 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %130 = "neura.data_mov"(%122) {dfg_id = 145 : i32, mapping_locs = [{id = 448 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %131 = "neura.load"(%130) {dfg_id = 163 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %130 = "neura.data_mov"(%122) {dfg_id = 145 : i32, mapping_locs = [{id = 43 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 40 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %131 = "neura.load"(%130) {dfg_id = 163 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %132 = "neura.data_mov"(%119) {dfg_id = 120 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 352 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 352 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %133 = "neura.data_mov"(%125) {dfg_id = 126 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 23 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 353 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %134 = "neura.gep"(%132, %133) <{operandSegmentSizes = array}> {dfg_id = 138 : i32, lhs_value = "%arg2", mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %135 = "neura.data_mov"(%134) {dfg_id = 153 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %136 = "neura.load"(%135) {dfg_id = 167 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %137 = "neura.data_mov"(%131) {dfg_id = 170 : i32, mapping_locs = [{id = 44 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 47 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 36 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %138 = "neura.data_mov"(%136) {dfg_id = 174 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 224 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 224 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %139 = "neura.data_mov"(%129) {dfg_id = 175 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 225 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 225 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %140 = "neura.fmul_fadd"(%137, %138, %139) {dfg_id = 182 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %141 = "neura.data_mov"(%140) {dfg_id = 189 : i32, mapping_locs = [{id = 225 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 225 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %142 = "neura.data_mov"(%127) {dfg_id = 154 : i32, mapping_locs = [{id = 226 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 226 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 226 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 226 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 226 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 226 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%141, %142) {dfg_id = 203 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %143 = "neura.data_mov"(%116) {dfg_id = 148 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %144 = "neura.load"(%143) {dfg_id = 164 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %145 = "neura.data_mov"(%134) {dfg_id = 152 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %146 = "neura.load"(%145) {dfg_id = 166 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %147 = "neura.data_mov"(%125) {dfg_id = 125 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 13 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 128 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %135 = "neura.data_mov"(%134) {dfg_id = 153 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 22 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 3001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 3001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %136 = "neura.load"(%135) {dfg_id = 167 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %137 = "neura.data_mov"(%131) {dfg_id = 170 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 41 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 44 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 47 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %138 = "neura.data_mov"(%136) {dfg_id = 174 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 23 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %139 = "neura.data_mov"(%129) {dfg_id = 175 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 23 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 352 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 352 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 352 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %140 = "neura.fmul_fadd"(%137, %138, %139) {dfg_id = 182 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %141 = "neura.data_mov"(%140) {dfg_id = 189 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 22 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %142 = "neura.data_mov"(%127) {dfg_id = 154 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 18 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 22 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 3000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 3000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 3000 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 3000 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 3000 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%141, %142) {dfg_id = 203 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %143 = "neura.data_mov"(%116) {dfg_id = 148 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 8000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %144 = "neura.load"(%143) {dfg_id = 164 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %145 = "neura.data_mov"(%134) {dfg_id = 152 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 31 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 27 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %146 = "neura.load"(%145) {dfg_id = 166 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %147 = "neura.data_mov"(%125) {dfg_id = 125 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 13 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 4000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %148 = "neura.gep"(%147) <{operandSegmentSizes = array}> {dfg_id = 137 : i32, lhs_value = "%arg5", mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %149 = "neura.data_mov"(%148) {dfg_id = 151 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 128 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %149 = "neura.data_mov"(%148) {dfg_id = 151 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 4000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %150 = "neura.load"(%149) {dfg_id = 165 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %151 = "neura.data_mov"(%146) {dfg_id = 173 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 31 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 27 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %152 = "neura.data_mov"(%150) {dfg_id = 172 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 256 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %153 = "neura.data_mov"(%144) {dfg_id = 171 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 257 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 257 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %151 = "neura.data_mov"(%146) {dfg_id = 173 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %152 = "neura.data_mov"(%150) {dfg_id = 172 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 8001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %153 = "neura.data_mov"(%144) {dfg_id = 171 : i32, mapping_locs = [{id = 8002 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 8002 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %154 = "neura.fmul_fadd"(%151, %152, %153) {dfg_id = 181 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %155 = "neura.data_mov"(%154) {dfg_id = 188 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %156 = "neura.data_mov"(%116) {dfg_id = 147 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 260 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 260 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 260 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 260 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %155 = "neura.data_mov"(%154) {dfg_id = 188 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %156 = "neura.data_mov"(%116) {dfg_id = 147 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 27 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 8003 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 8003 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 8003 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: "neura.store"(%155, %156) {dfg_id = 202 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () // MAPPING-NEXT: %157 = "neura.data_mov"(%125) {dfg_id = 124 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %158 = "neura.add"(%157) {dfg_id = 136 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data @@ -335,16 +335,16 @@ // MAPPING-NEXT: %165 = "neura.data_mov"(%163) {dfg_id = 201 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %166 = neura.grant_predicate %164, %165 {dfg_id = 211 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %166 -> %123 {dfg_id = 220 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 193 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 193 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 193 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 193 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 193 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %167 = "neura.data_mov"(%122) {dfg_id = 144 : i32, mapping_locs = [{id = 450 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 450 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 450 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 450 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 450 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %168 = "neura.data_mov"(%163) {dfg_id = 200 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 18 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 23 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 37 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 46 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %167 = "neura.data_mov"(%122) {dfg_id = 144 : i32, mapping_locs = [{id = 448 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 448 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 448 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 448 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 448 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %168 = "neura.data_mov"(%163) {dfg_id = 200 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 17 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 28 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 34 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %169 = neura.grant_predicate %167, %168 {dfg_id = 210 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %169 -> %120 {dfg_id = 219 : i32, mapping_locs = [{id = 450 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 450 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 450 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 450 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 450 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 450 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 450 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: neura.ctrl_mov %169 -> %120 {dfg_id = 219 : i32, mapping_locs = [{id = 449 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 449 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 449 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 449 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 449 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 449 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 449 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data // MAPPING-NEXT: %170 = "neura.data_mov"(%119) {dfg_id = 119 : i32, mapping_locs = [{id = 325 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 9 : i32}, {id = 325 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 10 : i32}, {id = 325 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 11 : i32}, {id = 325 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 325 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 325 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 325 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 325 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 325 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 325 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %171 = "neura.data_mov"(%163) {dfg_id = 199 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 21 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 20 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 326 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 15 : i32}, {id = 326 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 326 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 17 : i32}, {id = 326 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %172 = neura.grant_predicate %170, %171 {dfg_id = 209 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %172 -> %117 {dfg_id = 218 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 322 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %173 = "neura.data_mov"(%116) {dfg_id = 146 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 289 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %174 = "neura.data_mov"(%163) {dfg_id = 198 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 31 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 290 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 290 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 290 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %173 = "neura.data_mov"(%116) {dfg_id = 146 : i32, mapping_locs = [{id = 291 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 291 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 291 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 291 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 291 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %174 = "neura.data_mov"(%163) {dfg_id = 198 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}, {id = 321 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 31 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 14 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %175 = neura.grant_predicate %173, %174 {dfg_id = 208 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %175 -> %114 {dfg_id = 217 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 288 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 288 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}, {id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 288 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}, {id = 288 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data // MAPPING-NEXT: %176 = "neura.data_mov"(%113) {dfg_id = 157 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 161 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data @@ -354,7 +354,7 @@ // MAPPING-NEXT: %179 = "neura.data_mov"(%110) {dfg_id = 160 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 199 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 11 : i32}, {id = 199 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 12 : i32}, {id = 199 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 13 : i32}, {id = 199 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 14 : i32}, {id = 199 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 15 : i32}, {id = 199 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 199 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %180 = "neura.data_mov"(%163) {dfg_id = 196 : i32, mapping_locs = [{id = 200 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 12 : i32}, {id = 200 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 13 : i32}, {id = 200 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 14 : i32}, {id = 200 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 15 : i32}, {id = 200 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 16 : i32}, {id = 200 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %181 = neura.grant_predicate %179, %180 {dfg_id = 206 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %181 -> %108 {dfg_id = 215 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 65 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 65 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 65 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: neura.ctrl_mov %181 -> %108 {dfg_id = 215 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 2001 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 2001 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 2001 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : !neura.data !neura.data // MAPPING-NEXT: %182 = "neura.data_mov"(%107) {dfg_id = 129 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 195 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 195 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %183 = "neura.data_mov"(%163) {dfg_id = 195 : i32, mapping_locs = [{id = 197 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 197 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 197 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 197 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 197 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %184 = neura.grant_predicate %182, %183 {dfg_id = 205 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data @@ -362,7 +362,7 @@ // MAPPING-NEXT: %185 = "neura.data_mov"(%119) {dfg_id = 118 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 320 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 320 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %186 = "neura.data_mov"(%161) {dfg_id = 179 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %187 = neura.grant_predicate %185, %186 {dfg_id = 186 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %188 = "neura.data_mov"(%110) {dfg_id = 159 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 64 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %188 = "neura.data_mov"(%110) {dfg_id = 159 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 2000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %189 = "neura.data_mov"(%161) {dfg_id = 178 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %190 = neura.grant_predicate %188, %189 {dfg_id = 185 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %191 = "neura.data_mov"(%107) {dfg_id = 128 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data @@ -390,10 +390,10 @@ // MAPPING-NEXT: %211 = "neura.data_mov"(%203) {dfg_id = 229 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %212 = neura.grant_predicate %210, %211 {dfg_id = 234 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %212 -> %91 {dfg_id = 239 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 162 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %213 = "neura.data_mov"(%190) {dfg_id = 192 : i32, mapping_locs = [{id = 65 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 194 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 194 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %213 = "neura.data_mov"(%190) {dfg_id = 192 : i32, mapping_locs = [{id = 2001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 13 : i32}, {id = 194 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 194 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %214 = "neura.data_mov"(%203) {dfg_id = 228 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %215 = neura.grant_predicate %213, %214 {dfg_id = 233 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %215 -> %88 {dfg_id = 238 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 67 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 67 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 67 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 67 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: neura.ctrl_mov %215 -> %88 {dfg_id = 238 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 2003 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 2003 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 2003 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 2003 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}]} : !neura.data !neura.data // MAPPING-NEXT: %216 = "neura.data_mov"(%201) {dfg_id = 222 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %217 = "neura.data_mov"(%201) {dfg_id = 223 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %218 = neura.grant_predicate %216, %217 {dfg_id = 225 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data @@ -405,6 +405,7 @@ // MAPPING-NEXT: neura.return_void %223 : !neura.data {dfg_id = 242 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 2 : i32}]} // MAPPING-NEXT: neura.yield {dfg_id = 18 : i32} // MAPPING-NEXT: } +// MAPPING-NEXT: } // YAML: array_config: @@ -455,6 +456,2425 @@ // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 30 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 340000 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 320000 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 350000 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 142 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VOID" +// YAML-NEXT: id: 161 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 37 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 440000 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 71 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 86 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 92 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 330001 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "SHL" +// YAML-NEXT: id: 132 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 320001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 350001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 22 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 69 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 90 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 65 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 55 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SGT" +// YAML-NEXT: id: 67 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 185 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 76 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 87 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1920000 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 108 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 21 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1060001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 39 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 220001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SGT" +// YAML-NEXT: id: 56 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 238 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 650000 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 70 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 215 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 91 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 115 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 141 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "3" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 168 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 2 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 153 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 220000 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 154 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 167 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 203 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "4" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 137 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 57 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 740002 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 165 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 36 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 42 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 340001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 50 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SHL" +// YAML-NEXT: id: 72 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 49 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MEMSET" +// YAML-NEXT: id: 93 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 430001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 440001 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 125 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 183 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 207 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 730001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 107 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 23 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2000001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 41 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1430001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 490001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 32 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 510001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 239 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 38 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 35 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 114 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 140 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1250001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 187 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 211 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1540001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2000000 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1930001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 113 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1990002 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 192 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 184 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1170001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 233 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1060002 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 205 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 62 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 206 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 240 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 68 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 89 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 112 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 136 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1270000 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 158 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 169 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 160 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 139 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1530001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1990001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1750001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1540002 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 191 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 235 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1740001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1890001 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1260001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 127 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 5 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 440002 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 53 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 148 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 164 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 740003 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 147 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 166 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 172 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "FMUL_FADD" +// YAML-NEXT: id: 181 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 340002 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 202 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 43 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 134 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 3 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 25 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1470000 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 190 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 40 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 58 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 73 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1520002 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 84 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2000002 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 198 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 234 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 270002 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 208 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 95 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 143 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 34 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "MEMSET" +// YAML-NEXT: id: 162 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 186 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 204 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1520001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 221 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1980001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 226 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 199 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 270001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 225 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2000003 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 117 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 236 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 106 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI" +// YAML-NEXT: id: 232 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 209 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 88 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 109 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 111 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "11" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 138 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 6 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 175 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2300001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "FMUL_FADD" +// YAML-NEXT: id: 182 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VOID" +// YAML-NEXT: id: 242 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 120 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 126 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "12" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 4 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 54 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 163 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 85 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 123 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 135 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "13" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1450001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1230002 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1700001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 950001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "14" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 133 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1230001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1700002 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 210 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 100 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 110 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "15" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1700003 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" + // ASM: # Compiled II: 12 // ASM: PE(0,0): @@ -474,8 +2894,12 @@ // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=16, inv_iters=1) // ASM-NEXT: } (idx_per_ii=4) // ASM-NEXT: { +// ASM-NEXT: RETURN_VOID, [$0] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { // ASM-NEXT: NOT, [$1] -> [EAST, RED], [$0], [NORTH, RED] (t=9, inv_iters=0) // ASM-NEXT: } (idx_per_ii=9) // ASM-NEXT: { @@ -493,6 +2917,7 @@ // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=3, inv_iters=0) +// ASM-NEXT: SHL, [NORTH, RED], [#3] -> [NORTH, RED], [WEST, RED] (t=15, inv_iters=1) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=4, inv_iters=0) @@ -514,12 +2939,392 @@ // ASM-NEXT: { // ASM-NEXT: ICMP_SGT, [$0], [#0] -> [EAST, RED], [$0], [WEST, RED], [NORTH, RED] (t=11, inv_iters=0) // ASM-NEXT: } (idx_per_ii=11) - - - - - - +// ASM: PE(2,0): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [NORTH, RED], [$1] (t=12, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$0], [$1] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$1] -> [NORTH, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [$0], [$1] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: ICMP_SGT, [$0], [#0] -> [$2], [$0], [WEST, RED], [NORTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$3] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$2] -> [WEST, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$0] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$1] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: ZEXT, [$0] -> [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$3] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [NORTH, RED], [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(3,0): +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [NORTH, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [arg1] -> [WEST, RED], [$0] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$1] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: STORE, [NORTH, RED], [$0] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [$0] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: ZEXT, [$1] -> [$2] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [NORTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [arg0] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [$1], [EAST, RED] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: SHL, [$2], [#3] -> [$3] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: MEMSET, [$0], [$2], [$3] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(1,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [NORTH, RED] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [EAST, RED] -> [$1] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: ZEXT, [SOUTH, RED] -> [SOUTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$3] -> [WEST, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [WEST, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$2] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [NORTH, RED], [$0] -> [EAST, RED] (t=6, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$3] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$2] -> [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [EAST, RED], [$1], [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$0], [$1], [EAST, RED], [NORTH, RED], [WEST, RED], [$8], [$5] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$0] -> [$1] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [EAST, RED] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$1] -> [WEST, RED] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$3], [$6] -> [$3], [$0] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$2] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$4] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [NORTH, RED] -> [SOUTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$3], [$5] -> [$6] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$7], [$8] -> [SOUTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$2] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [WEST, RED], [$0] -> [$0], [NORTH, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [$3], [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [$1], [EAST, RED], [WEST, RED], [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$0], [$2] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [$1] -> [$0], [NORTH, RED], [SOUTH, RED], [$4], [WEST, RED] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$7] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [SOUTH, RED], [WEST, RED] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [WEST, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [WEST, RED] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#0] -> [EAST, RED], [$0] (t=12, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [EAST, RED] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$2] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$3] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [EAST, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: FMUL_FADD, [$0], [$1], [$2] -> [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=5, inv_iters=0) +// ASM-NEXT: STORE, [$0], [$3] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(1,2): +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [EAST, RED], [$0] -> [WEST, RED], [$0], [$3] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [arg3] -> [SOUTH, RED] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [SOUTH, RED] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$2] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [$2] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [SOUTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$3], [$1] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$3] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$2] (t=6, inv_iters=0) +// ASM-NEXT: MEMSET, [$1], [$2], [$3] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM: PE(2,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [$0] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$0], [$3] (t=13, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [SOUTH, RED] -> [$0], [$1], [$2] (t=14, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [WEST, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$0], [EAST, RED], [WEST, RED], [SOUTH, RED] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$6] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [$4] (t=16, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$2] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$3], [$0] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: PHI, [$1], [$2], [$4] -> [EAST, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$5], [$6] -> [$2] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$0] -> [$1], [NORTH, RED], [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [EAST, RED], [$5], [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$1] -> [NORTH, RED], [WEST, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(3,2): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0], [$1] -> [SOUTH, RED], [WEST, RED] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#0] -> [WEST, RED] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: FMUL_FADD, [NORTH, RED], [SOUTH, RED], [$0] -> [SOUTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: RETURN_VOID, [WEST, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(0,3): +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [arg4] -> [$0] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [$0] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [EAST, RED] -> [EAST, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(1,3): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=14, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(2,3): +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [WEST, RED], [$0] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [WEST, RED] (t=13, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [$1] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [$0] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(3,3): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) // RUN: mlir-neura-opt %t-kernel.mlir --view-op-graph 2>&1 | sed -n '/^digraph G {/,/^}$/p' > bicg_kernel_original.dot diff --git a/test/e2e/fft/fft_kernel.mlir b/test/e2e/fft/fft_kernel.mlir index 53ac3749..dfb820c3 100644 --- a/test/e2e/fft/fft_kernel.mlir +++ b/test/e2e/fft/fft_kernel.mlir @@ -22,363 +22,428 @@ // RUN: FileCheck %s --input-file=tmp-generated-instructions.yaml --check-prefix=YAML // RUN: FileCheck %s --input-file=tmp-generated-instructions.asm --check-prefix=ASM -// MAPPING: func.func @kernel(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 19 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 12 : i32, res_mii = 8 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { -// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 0 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = 128 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %2 = "neura.grant_once"() <{constant_value = 1 : i32}> {dfg_id = 2 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %3 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 3 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %4 = neura.reserve {dfg_id = 4 : i32} : !neura.data -// MAPPING-NEXT: %5 = "neura.data_mov"(%3) {dfg_id = 33 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %6 = neura.phi_start %5, %4 {dfg_id = 38 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %7 = neura.reserve {dfg_id = 5 : i32} : !neura.data -// MAPPING-NEXT: %8 = "neura.data_mov"(%0) {dfg_id = 29 : i32, mapping_locs = [{id = 96 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 96 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 96 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 96 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 96 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 96 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 96 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 96 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = neura.phi_start %8, %7 {dfg_id = 34 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 3 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %10 = neura.reserve {dfg_id = 6 : i32} : !neura.data -// MAPPING-NEXT: %11 = "neura.data_mov"(%2) {dfg_id = 32 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = neura.phi_start %11, %10 {dfg_id = 37 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %13 = neura.reserve {dfg_id = 7 : i32} : !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%1) {dfg_id = 31 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = neura.phi_start %14, %13 {dfg_id = 36 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %16 = neura.reserve {dfg_id = 8 : i32} : !neura.data -// MAPPING-NEXT: %17 = "neura.data_mov"(%0) {dfg_id = 30 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = neura.phi_start %17, %16 {dfg_id = 35 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %19 = "neura.data_mov"(%15) {dfg_id = 44 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = "neura.icmp"(%19) <{cmpType = "sgt"}> {dfg_id = 52 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %21 = "neura.data_mov"(%18) {dfg_id = 41 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %22 = "neura.data_mov"(%20) {dfg_id = 62 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 192 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 192 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %23 = neura.grant_predicate %21, %22 {dfg_id = 70 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %24 = "neura.data_mov"(%15) {dfg_id = 43 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 1 : i32}, {id = 29 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %25 = "neura.data_mov"(%20) {dfg_id = 61 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %26 = neura.grant_predicate %24, %25 {dfg_id = 69 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %27 = "neura.data_mov"(%12) {dfg_id = 46 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 29 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%20) {dfg_id = 60 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 2 : i32}, {id = 162 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 162 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 162 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 162 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %29 = neura.grant_predicate %27, %28 {dfg_id = 68 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %30 = "neura.data_mov"(%6) {dfg_id = 48 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%20) {dfg_id = 59 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %32 = neura.grant_predicate %30, %31 {dfg_id = 67 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %33 = "neura.data_mov"(%20) {dfg_id = 58 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 130 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 130 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 130 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 130 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 130 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 130 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 130 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 130 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 130 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 130 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 130 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %34 = "neura.not"(%33) {dfg_id = 66 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %35 = "neura.data_mov"(%6) {dfg_id = 47 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 17 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 131 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 131 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 131 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 131 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 131 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 131 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 131 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 131 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 131 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 131 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %36 = "neura.data_mov"(%34) {dfg_id = 75 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %37 = neura.grant_predicate %35, %36 {dfg_id = 85 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %38 = "neura.data_mov"(%23) {dfg_id = 82 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %39 = neura.sext %38 {dfg_id = 92 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %40 = "neura.data_mov"(%26) {dfg_id = 81 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %41 = neura.zext %40 {dfg_id = 91 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %42 = "neura.data_mov"(%29) {dfg_id = 78 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %43 = neura.zext %42 {dfg_id = 88 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %44 = "neura.data_mov"(%26) {dfg_id = 80 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 128 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 128 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 128 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 128 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %45 = neura.zext %44 {dfg_id = 90 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %46 = neura.reserve {dfg_id = 9 : i32} : !neura.data -// MAPPING-NEXT: %47 = "neura.data_mov"(%43) {dfg_id = 105 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %48 = neura.phi_start %47, %46 {dfg_id = 120 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %49 = neura.reserve {dfg_id = 10 : i32} : !neura.data -// MAPPING-NEXT: %50 = "neura.data_mov"(%45) {dfg_id = 108 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %51 = neura.phi_start %50, %49 {dfg_id = 122 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %52 = neura.reserve {dfg_id = 11 : i32} : !neura.data -// MAPPING-NEXT: %53 = "neura.data_mov"(%32) {dfg_id = 77 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 289 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 289 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 289 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %54 = neura.phi_start %53, %52 {dfg_id = 87 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %55 = neura.reserve {dfg_id = 12 : i32} : !neura.data -// MAPPING-NEXT: %56 = "neura.data_mov"(%26) {dfg_id = 79 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 161 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 161 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 161 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %57 = neura.phi_start %56, %55 {dfg_id = 89 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %58 = neura.reserve {dfg_id = 13 : i32} : !neura.data -// MAPPING-NEXT: %59 = "neura.data_mov"(%41) {dfg_id = 109 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %60 = neura.phi_start %59, %58 {dfg_id = 123 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %61 = neura.reserve {dfg_id = 14 : i32} : !neura.data -// MAPPING-NEXT: %62 = "neura.data_mov"(%39) {dfg_id = 110 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %63 = neura.phi_start %62, %61 {dfg_id = 124 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %64 = neura.reserve {dfg_id = 15 : i32} : !neura.data -// MAPPING-NEXT: %65 = "neura.data_mov"(%32) {dfg_id = 76 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %66 = neura.phi_start %65, %64 {dfg_id = 86 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %67 = "neura.data_mov"(%66) {dfg_id = 102 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 321 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 321 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 321 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 321 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 321 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %68 = "neura.data_mov"(%63) {dfg_id = 144 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %69 = "neura.add"(%67, %68) {dfg_id = 151 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %70 = "neura.data_mov"(%69) {dfg_id = 166 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %71 = "neura.gep"(%70) <{operandSegmentSizes = array}> {dfg_id = 171 : i32, lhs_value = "%arg2", mapping_locs = [{id = 11 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %72 = "neura.data_mov"(%71) {dfg_id = 183 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %73 = "neura.load"(%72) {dfg_id = 195 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %74 = "neura.data_mov"(%69) {dfg_id = 165 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %75 = "neura.gep"(%74) <{operandSegmentSizes = array}> {dfg_id = 170 : i32, lhs_value = "%arg3", mapping_locs = [{id = 10 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %76 = "neura.data_mov"(%75) {dfg_id = 182 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %77 = "neura.load"(%76) {dfg_id = 194 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %78 = "neura.data_mov"(%66) {dfg_id = 101 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %79 = "neura.shl"(%78) {dfg_id = 117 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %80 = "neura.data_mov"(%79) {dfg_id = 131 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %81 = "neura.data_mov"(%60) {dfg_id = 142 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %82 = "neura.mul"(%80, %81) {dfg_id = 149 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %83 = "neura.data_mov"(%82) {dfg_id = 162 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %84 = "neura.cast"(%83) <{cast_type = "trunc"}> {dfg_id = 169 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %85 = "neura.data_mov"(%57) {dfg_id = 107 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %86 = "neura.data_mov"(%84) {dfg_id = 181 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %87 = "neura.add"(%85, %86) {dfg_id = 193 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %88 = "neura.data_mov"(%87) {dfg_id = 219 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %89 = neura.zext %88 {dfg_id = 233 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %90 = "neura.data_mov"(%82) {dfg_id = 161 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 416 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 416 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 416 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 416 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %91 = "neura.and"(%90) {dfg_id = 168 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 3 : i32}], rhs_value = 4294967294 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %92 = neura.reserve {dfg_id = 16 : i32} : !neura.data -// MAPPING-NEXT: %93 = "neura.data_mov"(%54) {dfg_id = 104 : i32, mapping_locs = [{id = 291 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 291 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 291 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 291 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 291 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 291 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %94 = neura.phi_start %93, %92 {dfg_id = 119 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %95 = neura.reserve {dfg_id = 17 : i32} : !neura.data -// MAPPING-NEXT: %96 = "neura.data_mov"(%57) {dfg_id = 106 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 161 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 161 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 161 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 161 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 161 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %97 = neura.phi_start %96, %95 {dfg_id = 121 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %98 = neura.reserve {dfg_id = 18 : i32} : !neura.data -// MAPPING-NEXT: %99 = "neura.data_mov"(%60) {dfg_id = 141 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 163 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 163 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 163 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 163 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 163 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 163 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 163 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %100 = neura.phi_start %99, %98 {dfg_id = 148 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %101 = neura.reserve {dfg_id = 19 : i32} : !neura.data -// MAPPING-NEXT: %102 = "neura.data_mov"(%63) {dfg_id = 143 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 20 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 322 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 322 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 322 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 322 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 322 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %103 = neura.phi_start %102, %101 {dfg_id = 150 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %104 = neura.reserve {dfg_id = 20 : i32} : !neura.data -// MAPPING-NEXT: %105 = "neura.data_mov"(%48) {dfg_id = 137 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %106 = neura.phi_start %105, %104 {dfg_id = 146 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %107 = neura.reserve {dfg_id = 21 : i32} : !neura.data -// MAPPING-NEXT: %108 = "neura.data_mov"(%66) {dfg_id = 100 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 290 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 290 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 290 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %109 = neura.phi_start %108, %107 {dfg_id = 116 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %110 = neura.reserve {dfg_id = 22 : i32} : !neura.data -// MAPPING-NEXT: %111 = "neura.data_mov"(%51) {dfg_id = 140 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %112 = neura.phi_start %111, %110 {dfg_id = 147 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %113 = neura.reserve {dfg_id = 23 : i32} : !neura.data -// MAPPING-NEXT: %114 = "neura.data_mov"(%91) {dfg_id = 180 : i32, mapping_locs = [{id = 42 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %115 = neura.phi_start %114, %113 {dfg_id = 192 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %116 = neura.reserve {dfg_id = 24 : i32} : !neura.data -// MAPPING-NEXT: %117 = "neura.data_mov"(%77) {dfg_id = 220 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %118 = neura.phi_start %117, %116 {dfg_id = 234 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %119 = neura.reserve {dfg_id = 25 : i32} : !neura.data -// MAPPING-NEXT: %120 = "neura.data_mov"(%73) {dfg_id = 221 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %121 = neura.phi_start %120, %119 {dfg_id = 235 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 3 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %122 = neura.reserve {dfg_id = 26 : i32} : !neura.data -// MAPPING-NEXT: %123 = "neura.data_mov"(%89) {dfg_id = 249 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %124 = neura.phi_start %123, %122 {dfg_id = 259 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %125 = neura.reserve {dfg_id = 27 : i32} : !neura.data -// MAPPING-NEXT: %126 = "neura.data_mov"(%54) {dfg_id = 103 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %127 = neura.phi_start %126, %125 {dfg_id = 118 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %128 = "neura.data_mov"(%127) {dfg_id = 134 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 33 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %129 = "neura.data_mov"(%124) {dfg_id = 269 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %130 = "neura.add"(%128, %129) {dfg_id = 277 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %131 = "neura.data_mov"(%130) {dfg_id = 292 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %132 = "neura.gep"(%131) <{operandSegmentSizes = array}> {dfg_id = 302 : i32, lhs_value = "%arg0", mapping_locs = [{id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %133 = "neura.data_mov"(%132) {dfg_id = 314 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %134 = "neura.load"(%133) {dfg_id = 317 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %135 = "neura.data_mov"(%134) {dfg_id = 322 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 9 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %136 = "neura.data_mov"(%121) {dfg_id = 255 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 36 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %137 = "neura.mul"(%135, %136) {dfg_id = 326 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %138 = "neura.data_mov"(%130) {dfg_id = 291 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %139 = "neura.gep"(%138) <{operandSegmentSizes = array}> {dfg_id = 301 : i32, lhs_value = "%arg1", mapping_locs = [{id = 6 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %140 = "neura.data_mov"(%139) {dfg_id = 312 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %141 = "neura.load"(%140) {dfg_id = 316 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %142 = "neura.data_mov"(%141) {dfg_id = 320 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 320 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %143 = "neura.data_mov"(%118) {dfg_id = 252 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 321 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %144 = "neura.mul"(%142, %143) {dfg_id = 324 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %145 = "neura.data_mov"(%137) {dfg_id = 330 : i32, mapping_locs = [{id = 23 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %146 = "neura.data_mov"(%144) {dfg_id = 328 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %147 = "neura.sub"(%145, %146) {dfg_id = 332 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %148 = "neura.data_mov"(%134) {dfg_id = 321 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 64 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %149 = "neura.data_mov"(%118) {dfg_id = 251 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 19 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %150 = "neura.mul"(%148, %149) {dfg_id = 325 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %151 = "neura.data_mov"(%141) {dfg_id = 319 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %152 = "neura.data_mov"(%121) {dfg_id = 254 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %153 = "neura.mul"(%151, %152) {dfg_id = 323 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %154 = "neura.data_mov"(%153) {dfg_id = 327 : i32, mapping_locs = [{id = 22 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 96 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %155 = "neura.data_mov"(%150) {dfg_id = 329 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %156 = "neura.add"(%154, %155) {dfg_id = 331 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %157 = "neura.data_mov"(%127) {dfg_id = 133 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 417 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 417 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 417 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %158 = "neura.data_mov"(%115) {dfg_id = 218 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %159 = "neura.add"(%157, %158) {dfg_id = 232 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %160 = "neura.data_mov"(%159) {dfg_id = 248 : i32, mapping_locs = [{id = 40 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %161 = "neura.gep"(%160) <{operandSegmentSizes = array}> {dfg_id = 258 : i32, lhs_value = "%arg0", mapping_locs = [{id = 12 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %162 = "neura.data_mov"(%161) {dfg_id = 267 : i32, mapping_locs = [{id = 384 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %163 = "neura.load"(%162) {dfg_id = 275 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %164 = "neura.data_mov"(%163) {dfg_id = 289 : i32, mapping_locs = [{id = 384 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 38 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 416 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 416 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %165 = "neura.data_mov"(%147) {dfg_id = 336 : i32, mapping_locs = [{id = 37 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 46 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 43 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %166 = "neura.sub"(%164, %165) {dfg_id = 340 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %167 = "neura.data_mov"(%166) {dfg_id = 344 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %168 = "neura.data_mov"(%132) {dfg_id = 313 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 16 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 30 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 417 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 417 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 417 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 417 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%167, %168) {dfg_id = 348 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %169 = "neura.data_mov"(%163) {dfg_id = 288 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 41 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 448 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %170 = "neura.data_mov"(%147) {dfg_id = 335 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 34 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %171 = "neura.add"(%169, %170) {dfg_id = 339 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %172 = "neura.data_mov"(%171) {dfg_id = 343 : i32, mapping_locs = [{id = 448 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %173 = "neura.data_mov"(%161) {dfg_id = 266 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 416 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 416 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 41 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 449 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%172, %173) {dfg_id = 347 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %174 = "neura.data_mov"(%159) {dfg_id = 247 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %175 = "neura.gep"(%174) <{operandSegmentSizes = array}> {dfg_id = 257 : i32, lhs_value = "%arg1", mapping_locs = [{id = 13 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %176 = "neura.data_mov"(%175) {dfg_id = 265 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %177 = "neura.load"(%176) {dfg_id = 274 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %178 = "neura.data_mov"(%177) {dfg_id = 287 : i32, mapping_locs = [{id = 41 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 44 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 47 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %179 = "neura.data_mov"(%156) {dfg_id = 334 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 23 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %180 = "neura.sub"(%178, %179) {dfg_id = 338 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %181 = "neura.data_mov"(%180) {dfg_id = 342 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %182 = "neura.data_mov"(%139) {dfg_id = 311 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 23 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 354 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 354 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 354 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 354 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 354 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%181, %182) {dfg_id = 346 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %183 = "neura.data_mov"(%177) {dfg_id = 286 : i32, mapping_locs = [{id = 42 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 29 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 15 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %184 = "neura.data_mov"(%156) {dfg_id = 333 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 5 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %185 = "neura.add"(%183, %184) {dfg_id = 337 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %186 = "neura.data_mov"(%185) {dfg_id = 341 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %187 = "neura.data_mov"(%175) {dfg_id = 264 : i32, mapping_locs = [{id = 41 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 45 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 33 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 19 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 5 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%186, %187) {dfg_id = 345 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %188 = "neura.data_mov"(%127) {dfg_id = 132 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %189 = "neura.add"(%188) {dfg_id = 145 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %190 = "neura.data_mov"(%189) {dfg_id = 153 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %191 = "neura.data_mov"(%112) {dfg_id = 158 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %192 = "neura.icmp"(%190, %191) <{cmpType = "eq"}> {dfg_id = 167 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %193 = "neura.data_mov"(%192) {dfg_id = 179 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %194 = "neura.not"(%193) {dfg_id = 191 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %195 = "neura.data_mov"(%189) {dfg_id = 152 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 27 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 256 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %196 = "neura.data_mov"(%194) {dfg_id = 216 : i32, mapping_locs = [{id = 257 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %197 = neura.grant_predicate %195, %196 {dfg_id = 230 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %197 -> %125 {dfg_id = 245 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 292 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 292 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 292 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 292 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 292 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 292 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 292 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 292 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 292 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 292 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 292 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 292 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 292 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 292 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %198 = "neura.data_mov"(%124) {dfg_id = 268 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 13 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 133 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 133 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 133 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 133 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 133 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 133 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 133 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %199 = "neura.data_mov"(%194) {dfg_id = 215 : i32, mapping_locs = [{id = 269 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 13 : i32, resource = "register", time_step = 12 : i32}, {id = 265 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 9 : i32, resource = "register", time_step = 13 : i32}, {id = 259 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 258 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 257 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 25 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 128 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %200 = neura.grant_predicate %198, %199 {dfg_id = 276 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %200 -> %122 {dfg_id = 290 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 14 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 193 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 193 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 193 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 193 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 193 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 27 : i32}, {id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %201 = "neura.data_mov"(%121) {dfg_id = 253 : i32, mapping_locs = [{id = 353 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 353 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 353 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 353 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 353 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 353 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 353 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 353 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 353 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %202 = "neura.data_mov"(%194) {dfg_id = 214 : i32, mapping_locs = [{id = 268 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 12 : i32, resource = "register", time_step = 12 : i32}, {id = 264 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 13 : i32}, {id = 258 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 257 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 25 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 128 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 10 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 14 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 18 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 23 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %203 = neura.grant_predicate %201, %202 {dfg_id = 261 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 3 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %203 -> %119 {dfg_id = 271 : i32, mapping_locs = [{id = 353 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 353 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 353 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 353 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 353 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}, {id = 353 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 27 : i32}, {id = 353 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 28 : i32}, {id = 353 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 29 : i32}, {id = 353 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 30 : i32}, {id = 353 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %204 = "neura.data_mov"(%118) {dfg_id = 250 : i32, mapping_locs = [{id = 326 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 13 : i32}, {id = 326 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 14 : i32}, {id = 326 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 15 : i32}, {id = 326 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 326 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 17 : i32}, {id = 326 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}, {id = 326 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 19 : i32}, {id = 326 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}, {id = 326 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %205 = "neura.data_mov"(%194) {dfg_id = 213 : i32, mapping_locs = [{id = 267 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 12 : i32}, {id = 262 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 13 : i32}, {id = 257 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 26 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 384 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 38 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 41 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 45 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 321 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %206 = neura.grant_predicate %204, %205 {dfg_id = 260 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %206 -> %116 {dfg_id = 270 : i32, mapping_locs = [{id = 323 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 323 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 323 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 323 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 323 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 323 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}, {id = 323 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 28 : i32}, {id = 323 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 29 : i32}, {id = 323 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 30 : i32}, {id = 323 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %207 = "neura.data_mov"(%115) {dfg_id = 217 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 261 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 261 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 261 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 261 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 261 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 261 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %208 = "neura.data_mov"(%194) {dfg_id = 212 : i32, mapping_locs = [{id = 266 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 12 : i32}, {id = 266 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 13 : i32}, {id = 266 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 14 : i32}, {id = 266 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 15 : i32}, {id = 266 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 16 : i32}, {id = 266 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 17 : i32}, {id = 266 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %209 = neura.grant_predicate %207, %208 {dfg_id = 231 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %209 -> %113 {dfg_id = 246 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 295 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 20 : i32}, {id = 295 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 21 : i32}, {id = 295 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 22 : i32}, {id = 295 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 23 : i32}, {id = 295 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 24 : i32}, {id = 295 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 25 : i32}, {id = 295 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 26 : i32}, {id = 295 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 27 : i32}, {id = 295 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 28 : i32}, {id = 295 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 29 : i32}, {id = 295 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 30 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %210 = "neura.data_mov"(%112) {dfg_id = 157 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 129 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 129 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %211 = "neura.data_mov"(%194) {dfg_id = 211 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %212 = neura.grant_predicate %210, %211 {dfg_id = 229 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %212 -> %110 {dfg_id = 244 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 129 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 129 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 129 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 129 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 129 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 129 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 129 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 129 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 129 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 129 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 129 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 129 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 129 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}, {id = 129 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 27 : i32}, {id = 129 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %213 = "neura.data_mov"(%109) {dfg_id = 130 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 418 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 418 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 418 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 418 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 418 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %214 = "neura.data_mov"(%194) {dfg_id = 210 : i32, mapping_locs = [{id = 265 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 9 : i32, resource = "register", time_step = 12 : i32}, {id = 259 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 256 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 24 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 30 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %215 = neura.grant_predicate %213, %214 {dfg_id = 228 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %215 -> %107 {dfg_id = 243 : i32, mapping_locs = [{id = 42 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 294 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}, {id = 294 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 19 : i32}, {id = 294 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}, {id = 294 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 294 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}, {id = 294 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}, {id = 294 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 294 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 294 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 294 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 294 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 294 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %216 = "neura.data_mov"(%106) {dfg_id = 155 : i32, mapping_locs = [{id = 167 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 13 : i32}, {id = 167 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 14 : i32}, {id = 167 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 15 : i32}, {id = 167 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 167 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}, {id = 167 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 18 : i32}, {id = 167 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %217 = "neura.data_mov"(%194) {dfg_id = 209 : i32, mapping_locs = [{id = 264 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 12 : i32}, {id = 258 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 26 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 39 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 24 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 29 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 160 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %218 = neura.grant_predicate %216, %217 {dfg_id = 227 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %218 -> %104 {dfg_id = 242 : i32, mapping_locs = [{id = 167 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 20 : i32}, {id = 167 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 21 : i32}, {id = 167 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 22 : i32}, {id = 167 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 23 : i32}, {id = 167 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 24 : i32}, {id = 167 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 25 : i32}, {id = 167 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 26 : i32}, {id = 167 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 27 : i32}, {id = 167 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 28 : i32}, {id = 167 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 29 : i32}, {id = 167 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 30 : i32}, {id = 167 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %219 = "neura.data_mov"(%103) {dfg_id = 164 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 27 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %220 = "neura.data_mov"(%194) {dfg_id = 208 : i32, mapping_locs = [{id = 263 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 12 : i32}, {id = 263 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 13 : i32}, {id = 263 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 14 : i32}, {id = 263 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 15 : i32}, {id = 263 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 263 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %221 = neura.grant_predicate %219, %220 {dfg_id = 226 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %221 -> %101 {dfg_id = 241 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 28 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 325 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 325 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 325 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 325 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 325 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 325 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 325 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 325 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 325 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 325 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 325 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 325 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}, {id = 325 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 32 : i32}, {id = 325 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 33 : i32}, {id = 325 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 34 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %222 = "neura.data_mov"(%100) {dfg_id = 160 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %223 = "neura.data_mov"(%194) {dfg_id = 207 : i32, mapping_locs = [{id = 262 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 12 : i32}, {id = 257 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 25 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 128 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 128 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %224 = neura.grant_predicate %222, %223 {dfg_id = 225 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %224 -> %98 {dfg_id = 240 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 166 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}, {id = 166 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 19 : i32}, {id = 166 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}, {id = 166 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 166 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}, {id = 166 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}, {id = 166 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 166 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 166 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 166 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 166 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 166 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}, {id = 166 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 30 : i32}, {id = 166 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 31 : i32}, {id = 166 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 32 : i32}, {id = 166 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 33 : i32}, {id = 166 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 34 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %225 = "neura.data_mov"(%97) {dfg_id = 139 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 165 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 165 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 165 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %226 = "neura.data_mov"(%194) {dfg_id = 206 : i32, mapping_locs = [{id = 261 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 26 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 39 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 25 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 10 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 161 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 161 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %227 = neura.grant_predicate %225, %226 {dfg_id = 224 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %227 -> %95 {dfg_id = 239 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 165 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 165 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 165 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 165 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 165 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 165 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 165 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 165 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 165 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 165 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 165 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 165 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}, {id = 165 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 32 : i32}, {id = 165 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 33 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %228 = "neura.data_mov"(%94) {dfg_id = 136 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 256 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 256 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %229 = "neura.data_mov"(%194) {dfg_id = 205 : i32, mapping_locs = [{id = 260 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 260 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 260 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 260 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 260 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %230 = neura.grant_predicate %228, %229 {dfg_id = 223 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %230 -> %92 {dfg_id = 238 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 293 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 293 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 293 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 293 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 293 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 293 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 293 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 293 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 293 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 293 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 293 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 293 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 293 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 293 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}, {id = 293 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %231 = "neura.data_mov"(%109) {dfg_id = 129 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 288 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %232 = "neura.data_mov"(%192) {dfg_id = 178 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 289 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %233 = neura.grant_predicate %231, %232 {dfg_id = 190 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %234 = "neura.data_mov"(%106) {dfg_id = 154 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %235 = "neura.data_mov"(%192) {dfg_id = 177 : i32, mapping_locs = [{id = 257 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 24 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 29 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %236 = neura.grant_predicate %234, %235 {dfg_id = 189 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %237 = "neura.data_mov"(%103) {dfg_id = 163 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %238 = "neura.data_mov"(%192) {dfg_id = 176 : i32, mapping_locs = [{id = 260 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 259 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 25 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 10 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 14 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 20 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %239 = neura.grant_predicate %237, %238 {dfg_id = 188 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %240 = "neura.data_mov"(%100) {dfg_id = 159 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %241 = "neura.data_mov"(%192) {dfg_id = 175 : i32, mapping_locs = [{id = 259 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 258 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 256 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 24 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 289 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 289 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %242 = neura.grant_predicate %240, %241 {dfg_id = 187 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %243 = "neura.data_mov"(%97) {dfg_id = 138 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %244 = "neura.data_mov"(%192) {dfg_id = 174 : i32, mapping_locs = [{id = 258 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 26 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 38 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 42 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 288 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %245 = neura.grant_predicate %243, %244 {dfg_id = 186 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %246 = "neura.data_mov"(%94) {dfg_id = 135 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %247 = "neura.data_mov"(%192) {dfg_id = 173 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 38 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 42 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 289 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %248 = neura.grant_predicate %246, %247 {dfg_id = 185 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %249 = "neura.data_mov"(%112) {dfg_id = 156 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 128 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %250 = "neura.data_mov"(%192) {dfg_id = 172 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %251 = neura.grant_predicate %249, %250 {dfg_id = 184 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %252 = "neura.data_mov"(%233) {dfg_id = 204 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %253 = "neura.add"(%252) {dfg_id = 222 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %254 = "neura.data_mov"(%253) {dfg_id = 237 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %255 = "neura.data_mov"(%236) {dfg_id = 203 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %256 = "neura.icmp"(%254, %255) <{cmpType = "eq"}> {dfg_id = 256 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %257 = "neura.data_mov"(%256) {dfg_id = 263 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %258 = "neura.not"(%257) {dfg_id = 273 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %259 = "neura.data_mov"(%253) {dfg_id = 236 : i32, mapping_locs = [{id = 323 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 33 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 194 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 194 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %260 = "neura.data_mov"(%258) {dfg_id = 285 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 195 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %261 = neura.grant_predicate %259, %260 {dfg_id = 300 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %261 -> %64 {dfg_id = 310 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 16 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 290 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 290 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 290 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %262 = "neura.data_mov"(%239) {dfg_id = 201 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 36 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %263 = "neura.data_mov"(%258) {dfg_id = 284 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 225 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 225 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %264 = neura.grant_predicate %262, %263 {dfg_id = 299 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %264 -> %61 {dfg_id = 309 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 195 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 195 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 195 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 195 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 195 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 195 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 195 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 195 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %265 = "neura.data_mov"(%242) {dfg_id = 200 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 33 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}, {id = 192 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %266 = "neura.data_mov"(%258) {dfg_id = 283 : i32, mapping_locs = [{id = 197 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 197 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 197 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 197 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 197 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 197 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %267 = neura.grant_predicate %265, %266 {dfg_id = 298 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %267 -> %58 {dfg_id = 308 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 17 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %268 = "neura.data_mov"(%245) {dfg_id = 199 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 33 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 192 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %269 = "neura.data_mov"(%258) {dfg_id = 282 : i32, mapping_locs = [{id = 196 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 196 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 196 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %270 = neura.grant_predicate %268, %269 {dfg_id = 297 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %270 -> %55 {dfg_id = 307 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 168 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 20 : i32}, {id = 168 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 21 : i32}, {id = 168 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 22 : i32}, {id = 168 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 23 : i32}, {id = 168 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 24 : i32}, {id = 168 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %271 = "neura.data_mov"(%248) {dfg_id = 198 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 321 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 321 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %272 = "neura.data_mov"(%258) {dfg_id = 281 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 20 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %273 = neura.grant_predicate %271, %272 {dfg_id = 296 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %273 -> %52 {dfg_id = 306 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 291 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 291 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 291 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 291 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 291 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 291 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 291 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 291 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %274 = "neura.data_mov"(%251) {dfg_id = 196 : i32, mapping_locs = [{id = 132 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 132 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 132 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 132 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 132 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 132 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %275 = "neura.data_mov"(%258) {dfg_id = 280 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 13 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %276 = neura.grant_predicate %274, %275 {dfg_id = 295 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %276 -> %49 {dfg_id = 305 : i32, mapping_locs = [{id = 132 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 132 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 132 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 132 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 132 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 132 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 132 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 132 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 132 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 132 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %277 = "neura.data_mov"(%236) {dfg_id = 202 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 3 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 7 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %278 = "neura.data_mov"(%258) {dfg_id = 279 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %279 = neura.grant_predicate %277, %278 {dfg_id = 294 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %279 -> %46 {dfg_id = 304 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 164 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 164 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 164 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 164 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 164 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 164 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 164 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 164 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 164 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 164 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}, {id = 164 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 28 : i32}, {id = 164 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 29 : i32}, {id = 164 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 30 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %280 = "neura.data_mov"(%248) {dfg_id = 197 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 160 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %281 = "neura.data_mov"(%256) {dfg_id = 262 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 161 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %282 = neura.grant_predicate %280, %281 {dfg_id = 272 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %283 = "neura.data_mov"(%37) {dfg_id = 99 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 162 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 162 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %284 = "neura.data_mov"(%282) {dfg_id = 278 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %285 = "neura.phi"(%283, %284) {dfg_id = 293 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %286 = "neura.data_mov"(%12) {dfg_id = 45 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %287 = "neura.shl"(%286) {dfg_id = 53 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %288 = "neura.data_mov"(%15) {dfg_id = 42 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %289 = "neura.div"(%288) {dfg_id = 51 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 2 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %290 = "neura.data_mov"(%18) {dfg_id = 40 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %291 = "neura.shl"(%290) {dfg_id = 50 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 3 : i32, y = 1 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %292 = "neura.data_mov"(%291) {dfg_id = 56 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %293 = "neura.or"(%292) {dfg_id = 65 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 3 : i32, y = 1 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %294 = "neura.data_mov"(%9) {dfg_id = 39 : i32, mapping_locs = [{id = 96 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %295 = "neura.add"(%294) {dfg_id = 49 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 3 : i32, y = 0 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %296 = "neura.data_mov"(%295) {dfg_id = 55 : i32, mapping_locs = [{id = 96 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %297 = "neura.icmp"(%296) <{cmpType = "eq"}> {dfg_id = 64 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 3 : i32, y = 0 : i32}], rhs_value = 8 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %298 = "neura.data_mov"(%297) {dfg_id = 73 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %299 = "neura.not"(%298) {dfg_id = 84 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %300 = "neura.data_mov"(%293) {dfg_id = 74 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 224 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 224 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 224 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 224 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 224 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 224 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 224 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 224 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 224 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %301 = "neura.data_mov"(%299) {dfg_id = 98 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 9 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %302 = neura.grant_predicate %300, %301 {dfg_id = 115 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %302 -> %16 {dfg_id = 128 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 224 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 224 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}, {id = 224 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 224 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}, {id = 224 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}, {id = 224 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %303 = "neura.data_mov"(%289) {dfg_id = 57 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 29 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 15 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 32 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 32 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 32 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 32 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 32 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 32 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 32 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 32 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 32 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 32 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 32 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 32 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %304 = "neura.data_mov"(%299) {dfg_id = 97 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %305 = neura.grant_predicate %303, %304 {dfg_id = 114 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %305 -> %13 {dfg_id = 127 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 16 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 289 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %306 = "neura.data_mov"(%287) {dfg_id = 63 : i32, mapping_locs = [{id = 324 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}, {id = 324 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 324 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 324 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 324 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 324 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 324 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 324 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 324 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 324 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %307 = "neura.data_mov"(%299) {dfg_id = 96 : i32, mapping_locs = [{id = 66 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 7 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 20 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %308 = neura.grant_predicate %306, %307 {dfg_id = 113 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %308 -> %10 {dfg_id = 126 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 322 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 322 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 322 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 322 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}, {id = 322 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 25 : i32}, {id = 322 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %309 = "neura.data_mov"(%295) {dfg_id = 54 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 64 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 64 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %310 = "neura.data_mov"(%299) {dfg_id = 95 : i32, mapping_locs = [{id = 65 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %311 = neura.grant_predicate %309, %310 {dfg_id = 112 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %311 -> %7 {dfg_id = 125 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 97 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 97 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 97 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 97 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 97 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 97 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 97 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 97 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 97 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}, {id = 97 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 27 : i32}, {id = 97 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 28 : i32}, {id = 97 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 29 : i32}, {id = 97 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 30 : i32}, {id = 97 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %312 = "neura.data_mov"(%285) {dfg_id = 303 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %313 = "neura.data_mov"(%299) {dfg_id = 94 : i32, mapping_locs = [{id = 67 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 64 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 7 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 194 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %314 = neura.grant_predicate %312, %313 {dfg_id = 315 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %314 -> %4 {dfg_id = 318 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %315 = "neura.data_mov"(%297) {dfg_id = 71 : i32, mapping_locs = [{id = 97 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 97 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %316 = "neura.data_mov"(%297) {dfg_id = 72 : i32, mapping_locs = [{id = 98 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 98 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %317 = neura.grant_predicate %315, %316 {dfg_id = 83 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %318 = "neura.data_mov"(%317) {dfg_id = 93 : i32, mapping_locs = [{id = 96 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_void %318 : !neura.data {dfg_id = 111 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 0 : i32}]} -// MAPPING-NEXT: neura.yield {dfg_id = 28 : i32} -// MAPPING-NEXT: } +// MAPPING: func.func @kernel(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 19 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 12 : i32, res_mii = 8 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { +// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 0 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = 128 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %2 = "neura.grant_once"() <{constant_value = 1 : i32}> {dfg_id = 2 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %3 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 3 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %4 = neura.reserve {dfg_id = 4 : i32} : !neura.data +// MAPPING-NEXT: %5 = "neura.data_mov"(%3) {dfg_id = 33 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %6 = neura.phi_start %5, %4 {dfg_id = 38 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %7 = neura.reserve {dfg_id = 5 : i32} : !neura.data +// MAPPING-NEXT: %8 = "neura.data_mov"(%0) {dfg_id = 29 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 7 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 193 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 193 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 193 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = neura.phi_start %8, %7 {dfg_id = 34 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %10 = neura.reserve {dfg_id = 6 : i32} : !neura.data +// MAPPING-NEXT: %11 = "neura.data_mov"(%2) {dfg_id = 32 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = neura.phi_start %11, %10 {dfg_id = 37 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %13 = neura.reserve {dfg_id = 7 : i32} : !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%1) {dfg_id = 31 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = neura.phi_start %14, %13 {dfg_id = 36 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %16 = neura.reserve {dfg_id = 8 : i32} : !neura.data +// MAPPING-NEXT: %17 = "neura.data_mov"(%0) {dfg_id = 30 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = neura.phi_start %17, %16 {dfg_id = 35 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %19 = "neura.data_mov"(%15) {dfg_id = 44 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = "neura.icmp"(%19) <{cmpType = "sgt"}> {dfg_id = 52 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %21 = "neura.data_mov"(%18) {dfg_id = 41 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %22 = "neura.data_mov"(%20) {dfg_id = 62 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 192 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 192 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = neura.grant_predicate %21, %22 {dfg_id = 70 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %24 = "neura.data_mov"(%15) {dfg_id = 43 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 1 : i32}, {id = 29 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %25 = "neura.data_mov"(%20) {dfg_id = 61 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %26 = neura.grant_predicate %24, %25 {dfg_id = 69 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %27 = "neura.data_mov"(%12) {dfg_id = 46 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 29 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%20) {dfg_id = 60 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 2 : i32}, {id = 162 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 162 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 162 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 162 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = neura.grant_predicate %27, %28 {dfg_id = 68 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %30 = "neura.data_mov"(%6) {dfg_id = 48 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%20) {dfg_id = 59 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %32 = neura.grant_predicate %30, %31 {dfg_id = 67 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %33 = "neura.data_mov"(%20) {dfg_id = 58 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 4002 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 4002 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 4002 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 4002 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 4002 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 4002 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 4002 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 4002 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 4002 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 4002 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 4002 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %34 = "neura.not"(%33) {dfg_id = 66 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %35 = "neura.data_mov"(%6) {dfg_id = 47 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 27 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 8002 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 8002 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 8002 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 8002 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 8002 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 8002 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 8002 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 8002 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 8002 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 8002 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %36 = "neura.data_mov"(%34) {dfg_id = 75 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %37 = neura.grant_predicate %35, %36 {dfg_id = 85 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %38 = "neura.data_mov"(%23) {dfg_id = 82 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %39 = neura.sext %38 {dfg_id = 92 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %40 = "neura.data_mov"(%26) {dfg_id = 81 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %41 = neura.zext %40 {dfg_id = 91 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %42 = "neura.data_mov"(%29) {dfg_id = 78 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %43 = neura.zext %42 {dfg_id = 88 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %44 = "neura.data_mov"(%26) {dfg_id = 80 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 4000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 4000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 4000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 4000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %45 = neura.zext %44 {dfg_id = 90 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %46 = neura.reserve {dfg_id = 9 : i32} : !neura.data +// MAPPING-NEXT: %47 = "neura.data_mov"(%43) {dfg_id = 105 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %48 = neura.phi_start %47, %46 {dfg_id = 120 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %49 = neura.reserve {dfg_id = 10 : i32} : !neura.data +// MAPPING-NEXT: %50 = "neura.data_mov"(%45) {dfg_id = 108 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %51 = neura.phi_start %50, %49 {dfg_id = 122 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %52 = neura.reserve {dfg_id = 11 : i32} : !neura.data +// MAPPING-NEXT: %53 = "neura.data_mov"(%32) {dfg_id = 77 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 289 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 289 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 289 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %54 = neura.phi_start %53, %52 {dfg_id = 87 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %55 = neura.reserve {dfg_id = 12 : i32} : !neura.data +// MAPPING-NEXT: %56 = "neura.data_mov"(%26) {dfg_id = 79 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 161 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 161 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 161 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %57 = neura.phi_start %56, %55 {dfg_id = 89 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %58 = neura.reserve {dfg_id = 13 : i32} : !neura.data +// MAPPING-NEXT: %59 = "neura.data_mov"(%41) {dfg_id = 109 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %60 = neura.phi_start %59, %58 {dfg_id = 123 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %61 = neura.reserve {dfg_id = 14 : i32} : !neura.data +// MAPPING-NEXT: %62 = "neura.data_mov"(%39) {dfg_id = 110 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %63 = neura.phi_start %62, %61 {dfg_id = 124 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %64 = neura.reserve {dfg_id = 15 : i32} : !neura.data +// MAPPING-NEXT: %65 = "neura.data_mov"(%32) {dfg_id = 76 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %66 = neura.phi_start %65, %64 {dfg_id = 86 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %67 = "neura.data_mov"(%66) {dfg_id = 102 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 321 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 321 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 321 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 321 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 321 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %68 = "neura.data_mov"(%63) {dfg_id = 144 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %69 = "neura.add"(%67, %68) {dfg_id = 151 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %70 = "neura.data_mov"(%69) {dfg_id = 166 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %71 = "neura.gep"(%70) <{operandSegmentSizes = array}> {dfg_id = 171 : i32, lhs_value = "%arg2", mapping_locs = [{id = 11 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %72 = "neura.data_mov"(%71) {dfg_id = 183 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 22 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %73 = "neura.load"(%72) {dfg_id = 195 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %74 = "neura.data_mov"(%69) {dfg_id = 165 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %75 = "neura.gep"(%74) <{operandSegmentSizes = array}> {dfg_id = 170 : i32, lhs_value = "%arg3", mapping_locs = [{id = 10 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %76 = "neura.data_mov"(%75) {dfg_id = 182 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 19 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %77 = "neura.load"(%76) {dfg_id = 194 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %78 = "neura.data_mov"(%66) {dfg_id = 101 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %79 = "neura.shl"(%78) {dfg_id = 117 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %80 = "neura.data_mov"(%79) {dfg_id = 131 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %81 = "neura.data_mov"(%60) {dfg_id = 142 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %82 = "neura.mul"(%80, %81) {dfg_id = 149 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %83 = "neura.data_mov"(%82) {dfg_id = 162 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %84 = "neura.cast"(%83) <{cast_type = "trunc"}> {dfg_id = 169 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %85 = "neura.data_mov"(%57) {dfg_id = 107 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %86 = "neura.data_mov"(%84) {dfg_id = 181 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %87 = "neura.add"(%85, %86) {dfg_id = 193 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %88 = "neura.data_mov"(%87) {dfg_id = 219 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %89 = neura.zext %88 {dfg_id = 233 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %90 = "neura.data_mov"(%82) {dfg_id = 161 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 416 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 416 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 416 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 416 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %91 = "neura.and"(%90) {dfg_id = 168 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 3 : i32}], rhs_value = 4294967294 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %92 = neura.reserve {dfg_id = 16 : i32} : !neura.data +// MAPPING-NEXT: %93 = "neura.data_mov"(%54) {dfg_id = 104 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 322 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 322 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 322 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 322 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %94 = neura.phi_start %93, %92 {dfg_id = 119 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %95 = neura.reserve {dfg_id = 17 : i32} : !neura.data +// MAPPING-NEXT: %96 = "neura.data_mov"(%57) {dfg_id = 106 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 161 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 161 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 161 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 161 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 161 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 161 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %97 = neura.phi_start %96, %95 {dfg_id = 121 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %98 = neura.reserve {dfg_id = 18 : i32} : !neura.data +// MAPPING-NEXT: %99 = "neura.data_mov"(%60) {dfg_id = 141 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 4003 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 4003 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 4003 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 4003 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 4003 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 4003 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 4003 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 4003 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 4003 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %100 = neura.phi_start %99, %98 {dfg_id = 148 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %101 = neura.reserve {dfg_id = 19 : i32} : !neura.data +// MAPPING-NEXT: %102 = "neura.data_mov"(%63) {dfg_id = 143 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 194 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 194 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 194 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 194 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 194 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 194 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %103 = neura.phi_start %102, %101 {dfg_id = 150 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %104 = neura.reserve {dfg_id = 20 : i32} : !neura.data +// MAPPING-NEXT: %105 = "neura.data_mov"(%48) {dfg_id = 137 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %106 = neura.phi_start %105, %104 {dfg_id = 146 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %107 = neura.reserve {dfg_id = 21 : i32} : !neura.data +// MAPPING-NEXT: %108 = "neura.data_mov"(%66) {dfg_id = 100 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 290 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 290 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 290 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %109 = neura.phi_start %108, %107 {dfg_id = 116 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %110 = neura.reserve {dfg_id = 22 : i32} : !neura.data +// MAPPING-NEXT: %111 = "neura.data_mov"(%51) {dfg_id = 140 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %112 = neura.phi_start %111, %110 {dfg_id = 147 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %113 = neura.reserve {dfg_id = 23 : i32} : !neura.data +// MAPPING-NEXT: %114 = "neura.data_mov"(%91) {dfg_id = 180 : i32, mapping_locs = [{id = 42 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %115 = neura.phi_start %114, %113 {dfg_id = 192 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %116 = neura.reserve {dfg_id = 24 : i32} : !neura.data +// MAPPING-NEXT: %117 = "neura.data_mov"(%77) {dfg_id = 220 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %118 = neura.phi_start %117, %116 {dfg_id = 234 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %119 = neura.reserve {dfg_id = 25 : i32} : !neura.data +// MAPPING-NEXT: %120 = "neura.data_mov"(%73) {dfg_id = 221 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %121 = neura.phi_start %120, %119 {dfg_id = 235 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %122 = neura.reserve {dfg_id = 26 : i32} : !neura.data +// MAPPING-NEXT: %123 = "neura.data_mov"(%89) {dfg_id = 249 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %124 = neura.phi_start %123, %122 {dfg_id = 259 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %125 = neura.reserve {dfg_id = 27 : i32} : !neura.data +// MAPPING-NEXT: %126 = "neura.data_mov"(%54) {dfg_id = 103 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %127 = neura.phi_start %126, %125 {dfg_id = 118 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %128 = "neura.data_mov"(%127) {dfg_id = 134 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 33 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %129 = "neura.data_mov"(%124) {dfg_id = 269 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %130 = "neura.add"(%128, %129) {dfg_id = 277 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %131 = "neura.data_mov"(%130) {dfg_id = 292 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %132 = "neura.gep"(%131) <{operandSegmentSizes = array}> {dfg_id = 302 : i32, lhs_value = "%arg0", mapping_locs = [{id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %133 = "neura.data_mov"(%132) {dfg_id = 314 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %134 = "neura.load"(%133) {dfg_id = 317 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %135 = "neura.data_mov"(%134) {dfg_id = 322 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 7 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %136 = "neura.data_mov"(%121) {dfg_id = 255 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %137 = "neura.mul"(%135, %136) {dfg_id = 326 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %138 = "neura.data_mov"(%130) {dfg_id = 291 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %139 = "neura.gep"(%138) <{operandSegmentSizes = array}> {dfg_id = 301 : i32, lhs_value = "%arg1", mapping_locs = [{id = 6 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %140 = "neura.data_mov"(%139) {dfg_id = 312 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 22 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %141 = "neura.load"(%140) {dfg_id = 316 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %142 = "neura.data_mov"(%141) {dfg_id = 320 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %143 = "neura.data_mov"(%118) {dfg_id = 252 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %144 = "neura.mul"(%142, %143) {dfg_id = 324 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %145 = "neura.data_mov"(%137) {dfg_id = 330 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 192 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %146 = "neura.data_mov"(%144) {dfg_id = 328 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 193 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %147 = "neura.sub"(%145, %146) {dfg_id = 332 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %148 = "neura.data_mov"(%134) {dfg_id = 321 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 1000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %149 = "neura.data_mov"(%118) {dfg_id = 251 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %150 = "neura.mul"(%148, %149) {dfg_id = 325 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %151 = "neura.data_mov"(%141) {dfg_id = 319 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %152 = "neura.data_mov"(%121) {dfg_id = 254 : i32, mapping_locs = [{id = 22 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %153 = "neura.mul"(%151, %152) {dfg_id = 323 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %154 = "neura.data_mov"(%153) {dfg_id = 327 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %155 = "neura.data_mov"(%150) {dfg_id = 329 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %156 = "neura.add"(%154, %155) {dfg_id = 331 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %157 = "neura.data_mov"(%127) {dfg_id = 133 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 417 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 417 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 417 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %158 = "neura.data_mov"(%115) {dfg_id = 218 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %159 = "neura.add"(%157, %158) {dfg_id = 232 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %160 = "neura.data_mov"(%159) {dfg_id = 248 : i32, mapping_locs = [{id = 40 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %161 = "neura.gep"(%160) <{operandSegmentSizes = array}> {dfg_id = 258 : i32, lhs_value = "%arg0", mapping_locs = [{id = 12 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %162 = "neura.data_mov"(%161) {dfg_id = 267 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 12000 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %163 = "neura.load"(%162) {dfg_id = 275 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %164 = "neura.data_mov"(%163) {dfg_id = 289 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 24 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 29 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %165 = "neura.data_mov"(%147) {dfg_id = 336 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 17 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %166 = "neura.sub"(%164, %165) {dfg_id = 340 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %167 = "neura.data_mov"(%166) {dfg_id = 344 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %168 = "neura.data_mov"(%132) {dfg_id = 313 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 5 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 1003 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 1003 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 1003 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 1003 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 1003 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 1003 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%167, %168) {dfg_id = 348 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %169 = "neura.data_mov"(%163) {dfg_id = 288 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 41 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 45 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %170 = "neura.data_mov"(%147) {dfg_id = 335 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 320 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %171 = "neura.add"(%169, %170) {dfg_id = 339 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %172 = "neura.data_mov"(%171) {dfg_id = 343 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 27 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 8000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %173 = "neura.data_mov"(%161) {dfg_id = 266 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 8003 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 8003 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 8003 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 8003 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 8003 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 8003 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 8003 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%172, %173) {dfg_id = 347 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %174 = "neura.data_mov"(%159) {dfg_id = 247 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %175 = "neura.gep"(%174) <{operandSegmentSizes = array}> {dfg_id = 257 : i32, lhs_value = "%arg1", mapping_locs = [{id = 13 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %176 = "neura.data_mov"(%175) {dfg_id = 265 : i32, mapping_locs = [{id = 40 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %177 = "neura.load"(%176) {dfg_id = 274 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %178 = "neura.data_mov"(%177) {dfg_id = 287 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 40 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 39 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 25 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %179 = "neura.data_mov"(%156) {dfg_id = 334 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 17 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 13 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %180 = "neura.sub"(%178, %179) {dfg_id = 338 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %181 = "neura.data_mov"(%180) {dfg_id = 342 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %182 = "neura.data_mov"(%139) {dfg_id = 311 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 15 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 1 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 1 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 1 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 1 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%181, %182) {dfg_id = 346 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %183 = "neura.data_mov"(%177) {dfg_id = 286 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 25 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 11 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %184 = "neura.data_mov"(%156) {dfg_id = 333 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 2 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %185 = "neura.add"(%183, %184) {dfg_id = 337 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %186 = "neura.data_mov"(%185) {dfg_id = 341 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %187 = "neura.data_mov"(%175) {dfg_id = 264 : i32, mapping_locs = [{id = 41 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 45 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 33 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 19 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 5 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%186, %187) {dfg_id = 345 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %188 = "neura.data_mov"(%127) {dfg_id = 132 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %189 = "neura.add"(%188) {dfg_id = 145 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %190 = "neura.data_mov"(%189) {dfg_id = 153 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %191 = "neura.data_mov"(%112) {dfg_id = 158 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %192 = "neura.icmp"(%190, %191) <{cmpType = "eq"}> {dfg_id = 167 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %193 = "neura.data_mov"(%192) {dfg_id = 179 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %194 = "neura.not"(%193) {dfg_id = 191 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %195 = "neura.data_mov"(%189) {dfg_id = 152 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 27 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 8000 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %196 = "neura.data_mov"(%194) {dfg_id = 216 : i32, mapping_locs = [{id = 8001 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %197 = neura.grant_predicate %195, %196 {dfg_id = 230 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %197 -> %125 {dfg_id = 245 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 291 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 291 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 291 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 291 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 291 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 291 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 291 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 291 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 291 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 291 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 291 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 291 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 291 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 291 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %198 = "neura.data_mov"(%124) {dfg_id = 268 : i32, mapping_locs = [{id = 199 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 10 : i32}, {id = 199 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 11 : i32}, {id = 199 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 12 : i32}, {id = 199 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 13 : i32}, {id = 199 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 14 : i32}, {id = 199 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 15 : i32}, {id = 199 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 199 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}, {id = 199 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 18 : i32}, {id = 199 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 19 : i32}, {id = 199 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 20 : i32}, {id = 199 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %199 = "neura.data_mov"(%194) {dfg_id = 215 : i32, mapping_locs = [{id = 8014 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 14 : i32, resource = "register", time_step = 12 : i32}, {id = 8012 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 12 : i32, resource = "register", time_step = 13 : i32}, {id = 8006 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 14 : i32}, {id = 26 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 12001 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 12000 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 38 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 41 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 45 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 33 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %200 = neura.grant_predicate %198, %199 {dfg_id = 276 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %200 -> %122 {dfg_id = 290 : i32, mapping_locs = [{id = 196 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 196 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 196 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 196 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 196 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 196 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}, {id = 196 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %201 = "neura.data_mov"(%121) {dfg_id = 253 : i32, mapping_locs = [{id = 23 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 352 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 352 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 352 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 352 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 352 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 352 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %202 = "neura.data_mov"(%194) {dfg_id = 214 : i32, mapping_locs = [{id = 8013 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 13 : i32, resource = "register", time_step = 12 : i32}, {id = 8010 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 13 : i32}, {id = 8005 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 8002 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 8001 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 8001 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 24 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 28 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %203 = neura.grant_predicate %201, %202 {dfg_id = 261 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 3 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %203 -> %119 {dfg_id = 271 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 225 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 225 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 225 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 225 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 225 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}, {id = 225 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 27 : i32}, {id = 225 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 28 : i32}, {id = 225 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 29 : i32}, {id = 225 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 30 : i32}, {id = 225 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 31 : i32}, {id = 225 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %204 = "neura.data_mov"(%118) {dfg_id = 250 : i32, mapping_locs = [{id = 2001 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 5 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 1002 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 1002 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 1002 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %205 = "neura.data_mov"(%194) {dfg_id = 213 : i32, mapping_locs = [{id = 8012 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 12 : i32, resource = "register", time_step = 12 : i32}, {id = 8009 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 9 : i32, resource = "register", time_step = 13 : i32}, {id = 8003 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 8001 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 24 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 29 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 15 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %206 = neura.grant_predicate %204, %205 {dfg_id = 260 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %206 -> %116 {dfg_id = 270 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 2001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 2001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 2001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 2001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 2001 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 2001 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 2001 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}, {id = 2001 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 27 : i32}, {id = 2001 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 28 : i32}, {id = 2001 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 29 : i32}, {id = 2001 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 30 : i32}, {id = 2001 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 31 : i32}, {id = 2001 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %207 = "neura.data_mov"(%115) {dfg_id = 217 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 8008 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 13 : i32}, {id = 8008 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 14 : i32}, {id = 8008 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 15 : i32}, {id = 8008 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 16 : i32}, {id = 8008 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 17 : i32}, {id = 8008 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %208 = "neura.data_mov"(%194) {dfg_id = 212 : i32, mapping_locs = [{id = 8011 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 12 : i32}, {id = 8011 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 13 : i32}, {id = 8011 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 14 : i32}, {id = 8011 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 15 : i32}, {id = 8011 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 16 : i32}, {id = 8011 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 17 : i32}, {id = 8011 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 11 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %209 = neura.grant_predicate %207, %208 {dfg_id = 231 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %209 -> %113 {dfg_id = 246 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 294 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}, {id = 294 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 294 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}, {id = 294 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}, {id = 294 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 294 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 294 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 294 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 294 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 294 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}, {id = 294 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 30 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %210 = "neura.data_mov"(%112) {dfg_id = 157 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 4001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 4001 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %211 = "neura.data_mov"(%194) {dfg_id = 211 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %212 = neura.grant_predicate %210, %211 {dfg_id = 229 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %212 -> %110 {dfg_id = 244 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 4001 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 4001 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 4001 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 4001 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 4001 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 4001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 4001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 4001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 4001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 4001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 4001 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 4001 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 4001 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}, {id = 4001 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 27 : i32}, {id = 4001 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %213 = "neura.data_mov"(%109) {dfg_id = 130 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 418 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 418 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 418 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 418 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 418 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 418 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %214 = "neura.data_mov"(%194) {dfg_id = 210 : i32, mapping_locs = [{id = 8010 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 10 : i32, resource = "register", time_step = 12 : i32}, {id = 8006 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 13 : i32}, {id = 26 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 12001 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 12000 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 38 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %215 = neura.grant_predicate %213, %214 {dfg_id = 228 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %215 -> %107 {dfg_id = 243 : i32, mapping_locs = [{id = 42 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 293 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 293 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 293 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 293 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 293 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 293 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 293 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 293 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 293 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 293 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 293 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %216 = "neura.data_mov"(%106) {dfg_id = 155 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 4002 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 4002 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 4002 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 4002 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 4002 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 4002 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %217 = "neura.data_mov"(%194) {dfg_id = 209 : i32, mapping_locs = [{id = 8009 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 9 : i32, resource = "register", time_step = 12 : i32}, {id = 8005 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 8001 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 25 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 4000 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 4000 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 4000 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 4000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %218 = neura.grant_predicate %216, %217 {dfg_id = 227 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %218 -> %104 {dfg_id = 242 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 165 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 165 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 165 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 165 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 165 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 165 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 165 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 165 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 165 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 165 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 165 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %219 = "neura.data_mov"(%103) {dfg_id = 164 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 194 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 194 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 194 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 194 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %220 = "neura.data_mov"(%194) {dfg_id = 208 : i32, mapping_locs = [{id = 8008 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 12 : i32}, {id = 8003 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 25 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 10 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 14 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 193 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 193 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %221 = neura.grant_predicate %219, %220 {dfg_id = 226 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %221 -> %101 {dfg_id = 241 : i32, mapping_locs = [{id = 198 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 198 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}, {id = 198 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}, {id = 198 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 198 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 198 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 198 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 198 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 198 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}, {id = 198 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 30 : i32}, {id = 198 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 31 : i32}, {id = 198 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 32 : i32}, {id = 198 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 33 : i32}, {id = 198 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 34 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %222 = "neura.data_mov"(%100) {dfg_id = 160 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 12 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 8000 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %223 = "neura.data_mov"(%194) {dfg_id = 207 : i32, mapping_locs = [{id = 8007 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 12 : i32}, {id = 8007 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 13 : i32}, {id = 8007 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 14 : i32}, {id = 8007 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 15 : i32}, {id = 8007 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 8007 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %224 = neura.grant_predicate %222, %223 {dfg_id = 225 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %224 -> %98 {dfg_id = 240 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 25 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 4005 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 4005 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 4005 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 4005 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 4005 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 4005 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 4005 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 4005 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 4005 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 4005 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 4005 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 4005 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}, {id = 4005 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 32 : i32}, {id = 4005 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 33 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %225 = "neura.data_mov"(%97) {dfg_id = 139 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 164 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 164 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 164 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %226 = "neura.data_mov"(%194) {dfg_id = 206 : i32, mapping_locs = [{id = 8006 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 12 : i32}, {id = 8001 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 24 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 29 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 165 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 165 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 165 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 165 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %227 = neura.grant_predicate %225, %226 {dfg_id = 224 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %227 -> %95 {dfg_id = 239 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 164 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 164 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 164 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 164 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 164 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 164 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 164 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}, {id = 164 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 28 : i32}, {id = 164 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 29 : i32}, {id = 164 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 30 : i32}, {id = 164 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 31 : i32}, {id = 164 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 32 : i32}, {id = 164 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 33 : i32}, {id = 164 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 34 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %228 = "neura.data_mov"(%94) {dfg_id = 136 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 448 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 448 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 448 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %229 = "neura.data_mov"(%194) {dfg_id = 205 : i32, mapping_locs = [{id = 8005 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 26 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 38 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 41 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 449 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %230 = neura.grant_predicate %228, %229 {dfg_id = 223 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %230 -> %92 {dfg_id = 238 : i32, mapping_locs = [{id = 45 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 323 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 323 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 323 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 323 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 323 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 323 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 323 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 323 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 323 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 323 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}, {id = 323 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 28 : i32}, {id = 323 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 29 : i32}, {id = 323 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 30 : i32}, {id = 323 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %231 = "neura.data_mov"(%109) {dfg_id = 129 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 288 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %232 = "neura.data_mov"(%192) {dfg_id = 178 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 289 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %233 = neura.grant_predicate %231, %232 {dfg_id = 190 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %234 = "neura.data_mov"(%106) {dfg_id = 154 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %235 = "neura.data_mov"(%192) {dfg_id = 177 : i32, mapping_locs = [{id = 8001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 24 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 29 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %236 = neura.grant_predicate %234, %235 {dfg_id = 189 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %237 = "neura.data_mov"(%103) {dfg_id = 163 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %238 = "neura.data_mov"(%192) {dfg_id = 176 : i32, mapping_locs = [{id = 8005 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 11 : i32}, {id = 8003 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 25 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 10 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 16 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 28 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %239 = neura.grant_predicate %237, %238 {dfg_id = 188 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %240 = "neura.data_mov"(%100) {dfg_id = 159 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %241 = "neura.data_mov"(%192) {dfg_id = 175 : i32, mapping_locs = [{id = 8004 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 8004 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 8004 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 8004 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 8004 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %242 = neura.grant_predicate %240, %241 {dfg_id = 187 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %243 = "neura.data_mov"(%97) {dfg_id = 138 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %244 = "neura.data_mov"(%192) {dfg_id = 174 : i32, mapping_locs = [{id = 8003 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 26 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 38 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 42 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 289 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 289 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %245 = neura.grant_predicate %243, %244 {dfg_id = 186 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %246 = "neura.data_mov"(%94) {dfg_id = 135 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 320 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %247 = "neura.data_mov"(%192) {dfg_id = 173 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 38 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 41 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 45 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %248 = neura.grant_predicate %246, %247 {dfg_id = 185 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %249 = "neura.data_mov"(%112) {dfg_id = 156 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 4000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %250 = "neura.data_mov"(%192) {dfg_id = 172 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %251 = neura.grant_predicate %249, %250 {dfg_id = 184 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %252 = "neura.data_mov"(%233) {dfg_id = 204 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %253 = "neura.add"(%252) {dfg_id = 222 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %254 = "neura.data_mov"(%253) {dfg_id = 237 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %255 = "neura.data_mov"(%236) {dfg_id = 203 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %256 = "neura.icmp"(%254, %255) <{cmpType = "eq"}> {dfg_id = 256 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %257 = "neura.data_mov"(%256) {dfg_id = 263 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %258 = "neura.not"(%257) {dfg_id = 273 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %259 = "neura.data_mov"(%253) {dfg_id = 236 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 416 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 416 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %260 = "neura.data_mov"(%258) {dfg_id = 285 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %261 = neura.grant_predicate %259, %260 {dfg_id = 300 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %261 -> %64 {dfg_id = 310 : i32, mapping_locs = [{id = 42 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 290 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 290 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 290 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 290 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 290 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %262 = "neura.data_mov"(%239) {dfg_id = 201 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 27 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 8000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %263 = "neura.data_mov"(%258) {dfg_id = 284 : i32, mapping_locs = [{id = 295 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 289 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 288 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 27 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %264 = neura.grant_predicate %262, %263 {dfg_id = 299 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %264 -> %61 {dfg_id = 309 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 28 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 33 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 194 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 194 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}, {id = 194 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 25 : i32}, {id = 194 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 26 : i32}, {id = 194 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %265 = "neura.data_mov"(%242) {dfg_id = 200 : i32, mapping_locs = [{id = 8002 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 8002 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 8002 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 8002 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 8002 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %266 = "neura.data_mov"(%258) {dfg_id = 283 : i32, mapping_locs = [{id = 294 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 27 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 8001 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 8001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 8001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %267 = neura.grant_predicate %265, %266 {dfg_id = 298 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %267 -> %58 {dfg_id = 308 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 166 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %268 = "neura.data_mov"(%245) {dfg_id = 199 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 416 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 416 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %269 = "neura.data_mov"(%258) {dfg_id = 282 : i32, mapping_locs = [{id = 293 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 288 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 30 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 417 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %270 = neura.grant_predicate %268, %269 {dfg_id = 297 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 3 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %270 -> %55 {dfg_id = 307 : i32, mapping_locs = [{id = 40 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 38 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 42 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 29 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}, {id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}, {id = 160 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %271 = "neura.data_mov"(%248) {dfg_id = 198 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 290 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 290 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %272 = "neura.data_mov"(%258) {dfg_id = 281 : i32, mapping_locs = [{id = 292 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 292 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %273 = neura.grant_predicate %271, %272 {dfg_id = 296 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %273 -> %52 {dfg_id = 306 : i32, mapping_locs = [{id = 292 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 292 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 292 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 292 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 292 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 292 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 292 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 292 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 292 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %274 = "neura.data_mov"(%251) {dfg_id = 196 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 8000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 8000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 8000 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 8000 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %275 = "neura.data_mov"(%258) {dfg_id = 280 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %276 = neura.grant_predicate %274, %275 {dfg_id = 295 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %276 -> %49 {dfg_id = 305 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 4004 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 4004 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 4004 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 4004 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 4004 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 4004 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 4004 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 4004 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 4004 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 4004 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %277 = "neura.data_mov"(%236) {dfg_id = 202 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 162 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 162 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 162 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %278 = "neura.data_mov"(%258) {dfg_id = 279 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 160 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %279 = neura.grant_predicate %277, %278 {dfg_id = 294 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %279 -> %46 {dfg_id = 304 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 163 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 163 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 163 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 163 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 163 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 163 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 163 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 163 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}, {id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 28 : i32}, {id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 29 : i32}, {id = 163 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 30 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %280 = "neura.data_mov"(%248) {dfg_id = 197 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %281 = "neura.data_mov"(%256) {dfg_id = 262 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %282 = neura.grant_predicate %280, %281 {dfg_id = 272 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %283 = "neura.data_mov"(%37) {dfg_id = 99 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 288 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 28 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %284 = "neura.data_mov"(%282) {dfg_id = 278 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 320 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %285 = "neura.phi"(%283, %284) {dfg_id = 293 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %286 = "neura.data_mov"(%12) {dfg_id = 45 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %287 = "neura.shl"(%286) {dfg_id = 53 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %288 = "neura.data_mov"(%15) {dfg_id = 42 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %289 = "neura.div"(%288) {dfg_id = 51 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 2 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %290 = "neura.data_mov"(%18) {dfg_id = 40 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %291 = "neura.shl"(%290) {dfg_id = 50 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 3 : i32, y = 1 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %292 = "neura.data_mov"(%291) {dfg_id = 56 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %293 = "neura.or"(%292) {dfg_id = 65 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 3 : i32, y = 1 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %294 = "neura.data_mov"(%9) {dfg_id = 39 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %295 = "neura.add"(%294) {dfg_id = 49 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %296 = "neura.data_mov"(%295) {dfg_id = 55 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %297 = "neura.icmp"(%296) <{cmpType = "eq"}> {dfg_id = 64 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 8 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %298 = "neura.data_mov"(%297) {dfg_id = 73 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 160 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %299 = "neura.not"(%298) {dfg_id = 84 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %300 = "neura.data_mov"(%293) {dfg_id = 74 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 197 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 9 : i32}, {id = 197 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 10 : i32}, {id = 197 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 11 : i32}, {id = 197 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 197 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 197 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 197 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 197 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 197 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 197 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 197 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %301 = "neura.data_mov"(%299) {dfg_id = 98 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 10 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 14 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %302 = neura.grant_predicate %300, %301 {dfg_id = 115 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %302 -> %16 {dfg_id = 128 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 224 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 224 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}, {id = 224 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}, {id = 224 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %303 = "neura.data_mov"(%289) {dfg_id = 57 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 29 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 15 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1001 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1001 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1001 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1001 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 1001 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 1001 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 1001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 1001 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 1001 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 1001 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 1001 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 1001 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 1001 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %304 = "neura.data_mov"(%299) {dfg_id = 97 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %305 = neura.grant_predicate %303, %304 {dfg_id = 114 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %305 -> %13 {dfg_id = 127 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 16 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %306 = "neura.data_mov"(%287) {dfg_id = 63 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 196 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 196 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 196 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 196 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 196 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 196 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 196 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 196 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 196 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %307 = "neura.data_mov"(%299) {dfg_id = 96 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 14 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %308 = neura.grant_predicate %306, %307 {dfg_id = 113 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %308 -> %10 {dfg_id = 126 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 322 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 322 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 322 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 322 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}, {id = 322 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 25 : i32}, {id = 322 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %309 = "neura.data_mov"(%295) {dfg_id = 54 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 195 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 195 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 195 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %310 = "neura.data_mov"(%299) {dfg_id = 95 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %311 = neura.grant_predicate %309, %310 {dfg_id = 112 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %311 -> %7 {dfg_id = 125 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 195 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 195 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 195 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 195 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 195 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 195 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 195 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 195 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 195 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}, {id = 195 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 28 : i32}, {id = 195 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 29 : i32}, {id = 195 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 30 : i32}, {id = 195 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %312 = "neura.data_mov"(%285) {dfg_id = 303 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 353 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %313 = "neura.data_mov"(%299) {dfg_id = 94 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}, {id = 28 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 18 : i32}, {id = 32 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %314 = neura.grant_predicate %312, %313 {dfg_id = 315 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 3 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %314 -> %4 {dfg_id = 318 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %315 = "neura.data_mov"(%297) {dfg_id = 71 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 1000 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %316 = "neura.data_mov"(%297) {dfg_id = 72 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 15 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %317 = neura.grant_predicate %315, %316 {dfg_id = 83 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %318 = "neura.data_mov"(%317) {dfg_id = 93 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 17 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_void %318 : !neura.data {dfg_id = 111 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 18 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 0 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 28 : i32} +// MAPPING-NEXT: } + // YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 19 // YAML-NEXT: cores: +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "0" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 345 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 342 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 346 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 311 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 337 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - column: 1 // YAML-NEXT: row: 0 // YAML-NEXT: core_id: "1" @@ -387,15 +452,39 @@ // YAML-NEXT: instructions: // YAML-NEXT: - index_per_ii: 0 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "STORE" -// YAML-NEXT: id: 345 +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 260 // YAML-NEXT: time_step: 19 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "$0" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2640005 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 348 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 5 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "DATA_MOV" @@ -406,114 +495,3455 @@ // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 317 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 313 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3110002 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 325 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 250 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 71 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 83 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3330001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 114 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 270 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 290001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 302 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 13 // YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 194 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 3130001 +// YAML-NEXT: id: 3130000 // YAML-NEXT: time_step: 13 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 234 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3220001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 15 // YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 324 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" // YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 2020001 +// YAML-NEXT: id: 2500000 // YAML-NEXT: time_step: 15 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 331 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VOID" +// YAML-NEXT: id: 111 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2640004 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: - -// ASM: # Compiled II: 19 +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "3" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 195 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 316 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 323 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "4" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SUB" +// YAML-NEXT: id: 338 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 227 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 240 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 58 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 3080001 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 80 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 141 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 90 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 122 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 147 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 184 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 229 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 66 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 155 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1760001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 148 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2080001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 209 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1600000 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2860002 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 980001 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 305 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SUB" +// YAML-NEXT: id: 340 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 980002 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 1270001 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 224 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SGT" +// YAML-NEXT: id: 52 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 242 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 69 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 91 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 570001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 308 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 123 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 307 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 89 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 193 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 233 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 68 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 88 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 120 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 146 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3110001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 189 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 64 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1760002 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 121 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2080002 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 206 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 720000 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 84 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 279 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 294 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3340002 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2130002 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 960000 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 113 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 115 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 226 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 62 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 276 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 309 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 70 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 29 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 92 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 124 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 74 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 259 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 63 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 277 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 301 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1820001 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 34 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 49 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 326 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 150 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 328 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SUB" +// YAML-NEXT: id: 332 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3340001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2640003 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 208 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 112 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3360000 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 128 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 271 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 35 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SHL" +// YAML-NEXT: id: 50 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "OR" +// YAML-NEXT: id: 65 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1830001 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3120001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 235 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 231 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$11" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 201 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 2400000 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 299 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 298 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 343 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 347 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 47 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 167 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 191 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$11" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 152 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1770000 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1740000 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 230 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 217 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2050000 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1760000 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 196 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2100000 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2080000 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2060000 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 85 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 266 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2150000 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2090000 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 187 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2860001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2130000 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 295 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2890001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 160 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 225 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2870003 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2140000 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 283 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 1 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#128" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2140001 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2840000 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 243 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 36 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3430001 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 246 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DIV" +// YAML-NEXT: id: 51 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 430000 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 3090001 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 67 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 570000 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 86 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 470001 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 3070003 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SHL" +// YAML-NEXT: id: 117 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 149 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CAST_TRUNC" +// YAML-NEXT: id: 169 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 87 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 118 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 460001 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 145 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 116 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1520000 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 192 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 178 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 190 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1770001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 222 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 245 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 256 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2060001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 174 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 273 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1760003 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 198 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 186 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2130001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2830000 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 990001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 296 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2890002 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2010001 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2820000 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 940001 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 310 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 339 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 940002 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 3 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2140002 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 126 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 38 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2150004 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 470000 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 3090002 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 102 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 2 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 37 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SHL" +// YAML-NEXT: id: 53 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 104 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 151 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1340001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 170 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 119 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 185 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 272 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2640002 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 188 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI" +// YAML-NEXT: id: 293 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 335 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 238 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "11" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 303 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 315 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 261 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 171 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 253 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "12" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 3070001 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1730001 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1740001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 258 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2050001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 274 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 275 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2870002 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2100001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2150001 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "13" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2150002 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 282 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 297 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 3070002 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 161 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 133 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "AND" +// YAML-NEXT: id: 168 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4294967294" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 130 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 232 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1730002 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 257 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1740002 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2050002 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 236 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2870001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 300 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2880001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 228 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 199 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "14" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2150003 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 136 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1730003 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2640001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 205 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 17 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 223 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 18 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2880002 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" + + +// ASM: # Compiled II: 19 +// ASM: PE(0,0): +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [EAST, RED] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$1] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: ADD, [NORTH, RED], [EAST, RED] -> [$0] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) // ASM: PE(1,0): // ASM-NEXT: { -// ASM-NEXT: STORE, [$0], [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: GRANT_PREDICATE, [$2], [NORTH, RED] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=19, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: STORE, [NORTH, RED], [$3] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=5, inv_iters=0) // ASM-NEXT: } (idx_per_ii=5) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=13, inv_iters=0) +// ASM-NEXT: LOAD, [EAST, RED] -> [EAST, RED], [$0] (t=13, inv_iters=0) // ASM-NEXT: } (idx_per_ii=13) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$3] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [WEST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [EAST, RED] -> [EAST, RED] (t=15, inv_iters=0) // ASM-NEXT: } (idx_per_ii=15) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [NORTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [EAST, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=17, inv_iters=0) // ASM-NEXT: } (idx_per_ii=17) // ASM-NEXT: { -// ASM-NEXT: ADD, [NORTH, RED], [EAST, RED] -> [$0] (t=18, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$1], [NORTH, RED] -> [NORTH, RED] (t=18, inv_iters=0) // ASM-NEXT: } (idx_per_ii=18) // ASM: PE(2,0): // ASM-NEXT: { -// ASM-NEXT: GEP, [NORTH, RED] -> [$0], [WEST, RED] (t=12, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$1] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GEP, [NORTH, RED] -> [WEST, RED], [$0] (t=12, inv_iters=0) // ASM-NEXT: } (idx_per_ii=12) // ASM-NEXT: { -// ASM-NEXT: LOAD, [$0] -> [EAST, RED], [$0] (t=13, inv_iters=0) +// ASM-NEXT: LOAD, [NORTH, RED] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=13, inv_iters=0) // ASM-NEXT: } (idx_per_ii=13) // ASM-NEXT: { -// ASM-NEXT: MUL, [$0], [NORTH, RED] -> [EAST, RED] (t=15, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [$1] -> [$0], [WEST, RED], [$1] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: MUL, [EAST, RED], [$0] -> [NORTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [WEST, RED] (t=15, inv_iters=0) // ASM-NEXT: } (idx_per_ii=15) // ASM-NEXT: { -// ASM-NEXT: NOT, [EAST, RED] -> [EAST, RED], [WEST, RED], [$2], [$1], [$0] (t=16, inv_iters=0) -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: ADD, [EAST, RED], [WEST, RED] -> [NORTH, RED], [WEST, RED] (t=16, inv_iters=0) // ASM-NEXT: } (idx_per_ii=16) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [EAST, RED] (t=17, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=17, inv_iters=0) -// ASM-NEXT: DATA_MOV, [$2] -> [NORTH, RED] (t=17, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=17) -// ASM-NEXT: { +// ASM-NEXT: RETURN_VOID, [WEST, RED] (t=18, inv_iters=0) // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [WEST, RED] (t=18, inv_iters=0) -// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=18, inv_iters=0) // ASM-NEXT: } (idx_per_ii=18) // ASM: PE(3,0): // ASM-NEXT: { -// ASM-NEXT: GRANT_ONCE, [#0] -> [$0], [NORTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: GRANT_ONCE, [#0] -> [WEST, RED], [NORTH, RED] (t=5, inv_iters=0) // ASM-NEXT: } (idx_per_ii=5) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$1] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: LOAD, [NORTH, RED] -> [NORTH, RED] (t=13, inv_iters=0) // ASM-NEXT: } (idx_per_ii=13) // ASM-NEXT: { -// ASM-NEXT: ADD, [$0], [#1] -> [$0], [WEST, RED] (t=14, inv_iters=0) -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: LOAD, [NORTH, RED] -> [WEST, RED], [$0] (t=14, inv_iters=0) // ASM-NEXT: } (idx_per_ii=14) // ASM-NEXT: { -// ASM-NEXT: ICMP_EQ, [$0], [#8] -> [WEST, RED], [$1], [$2] (t=15, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: MUL, [$0], [NORTH, RED] -> [WEST, RED] (t=15, inv_iters=0) // ASM-NEXT: } (idx_per_ii=15) -// ASM-NEXT: { -// ASM-NEXT: ADD, [$0], [WEST, RED] -> [NORTH, RED], [WEST, RED] (t=16, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=16) -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [$0] (t=17, inv_iters=0) -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=17, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=17) -// ASM-NEXT: { -// ASM-NEXT: RETURN_VOID, [$0] (t=18, inv_iters=0) -// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$1] (t=18, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=18) // ASM: PE(0,1): // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$5], [$0] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: SUB, [NORTH, RED], [EAST, RED] -> [SOUTH, RED] (t=19, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$0] -> [EAST, RED] (t=20, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$5] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { // ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=3, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [EAST, RED] (t=22, inv_iters=1) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$3] (t=5, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$3] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) // ASM-NEXT: { // ASM-NEXT: ZEXT, [$0] -> [$0] (t=8, inv_iters=0) // ASM-NEXT: } (idx_per_ii=8) @@ -524,58 +3954,58 @@ // ASM-NEXT: PHI_START, [$0], [$1] -> [NORTH, RED], [$1], [$0] (t=10, inv_iters=0) // ASM-NEXT: } (idx_per_ii=10) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [$4] (t=12, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$5] (t=12, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [NORTH, RED] (t=12, inv_iters=0) // ASM-NEXT: } (idx_per_ii=12) // ASM-NEXT: { // ASM-NEXT: GRANT_PREDICATE, [$1], [NORTH, RED] -> [$1] (t=13, inv_iters=0) // ASM-NEXT: } (idx_per_ii=13) // ASM-NEXT: { -// ASM-NEXT: NOT, [$2] -> [$0] (t=14, inv_iters=0) +// ASM-NEXT: NOT, [$2] -> [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=14, inv_iters=0) // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=14, inv_iters=0) // ASM-NEXT: } (idx_per_ii=14) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$3], [$0] -> [EAST, RED] (t=15, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: PHI_START, [$3], [$5] -> [$0], [NORTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=15, inv_iters=0) // ASM-NEXT: } (idx_per_ii=15) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=16, inv_iters=0) // ASM-NEXT: } (idx_per_ii=16) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [EAST, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=17, inv_iters=0) // ASM-NEXT: } (idx_per_ii=17) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$4], [EAST, RED] -> [$4] (t=18, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=18, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [EAST, RED] (t=18, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$4] (t=18, inv_iters=0) // ASM-NEXT: } (idx_per_ii=18) // ASM: PE(1,1): // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$5], [$1] -> [$5] (t=19, inv_iters=1) +// ASM-NEXT: SUB, [NORTH, RED], [EAST, RED] -> [SOUTH, RED] (t=19, inv_iters=1) // ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=19, inv_iters=1) -// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [NORTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [SOUTH, RED] -> [NORTH, RED] (t=19, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$7], [$0] -> [$7] (t=20, inv_iters=1) -// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [EAST, RED] (t=20, inv_iters=1) -// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$8] (t=20, inv_iters=1) +// ASM-NEXT: GRANT_PREDICATE, [$4], [$5] -> [$4] (t=20, inv_iters=1) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { // ASM-NEXT: ICMP_SGT, [NORTH, RED], [#0] -> [EAST, RED], [$0], [$2], [NORTH, RED], [WEST, RED] (t=2, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$5] (t=21, inv_iters=1) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { // ASM-NEXT: GRANT_PREDICATE, [NORTH, RED], [$0] -> [$0], [WEST, RED], [$1] (t=3, inv_iters=0) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { // ASM-NEXT: ZEXT, [$0] -> [$0] (t=4, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=4, inv_iters=0) // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=4, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$6] (t=23, inv_iters=1) // ASM-NEXT: } (idx_per_ii=4) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [EAST, RED] -> [NORTH, RED], [$3] (t=5, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [$6] -> [NORTH, RED], [WEST, RED] (t=5, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$0] (t=24, inv_iters=1) // ASM-NEXT: } (idx_per_ii=5) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$1], [$8] -> [$0], [$1] (t=7, inv_iters=0) +// ASM-NEXT: PHI_START, [$1], [$0] -> [$0], [$1] (t=7, inv_iters=0) // ASM-NEXT: } (idx_per_ii=7) // ASM-NEXT: { // ASM-NEXT: ADD, [$0], [NORTH, RED] -> [$0] (t=8, inv_iters=0) @@ -588,38 +4018,435 @@ // ASM-NEXT: } (idx_per_ii=10) // ASM-NEXT: { // ASM-NEXT: ZEXT, [$0] -> [$0] (t=11, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=11, inv_iters=0) // ASM-NEXT: } (idx_per_ii=11) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$4] -> [$0] (t=12, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [$3] -> [$0] (t=12, inv_iters=0) // ASM-NEXT: } (idx_per_ii=12) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$7] -> [$7], [$0] (t=13, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [$5] -> [WEST, RED], [$0] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=13, inv_iters=0) // ASM-NEXT: } (idx_per_ii=13) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [EAST, RED], [SOUTH, RED] (t=14, inv_iters=0) -// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [NORTH, RED], [$2] (t=14, inv_iters=0) // ASM-NEXT: } (idx_per_ii=14) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$1], [$5] -> [$5], [NORTH, RED] (t=15, inv_iters=0) -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=15, inv_iters=0) +// ASM-NEXT: ICMP_EQ, [EAST, RED], [#8] -> [$0], [SOUTH, RED], [$3] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=15, inv_iters=0) // ASM-NEXT: } (idx_per_ii=15) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$3], [$6] -> [WEST, RED], [NORTH, RED] (t=16, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=16, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=16, inv_iters=0) -// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$2] (t=16, inv_iters=0) +// ASM-NEXT: PHI_START, [$1], [$4] -> [$4], [NORTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$5] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$3] -> [SOUTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [WEST, RED], [SOUTH, RED], [$1], [EAST, RED], [NORTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=17, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=17) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$0] -> [$3] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$4], [WEST, RED] -> [NORTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$5], [WEST, RED] -> [EAST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$1] -> [$6] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$7], [NORTH, RED] -> [$4] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$2] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [$0] -> [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [NORTH, RED], [$2] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$5] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [WEST, RED], [$4] -> [$0], [$7] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$4] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: ADD, [NORTH, RED], [$0] -> [SOUTH, RED], [$0] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [EAST, RED], [WEST, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$1], [$3] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [WEST, RED], [$3] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: MUL, [SOUTH, RED], [EAST, RED] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$2], [$6] -> [$2], [NORTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=16, inv_iters=0) // ASM-NEXT: } (idx_per_ii=16) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [$0] (t=17, inv_iters=0) +// ASM-NEXT: SUB, [$0], [$1] -> [$0], [NORTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [WEST, RED] (t=17, inv_iters=0) // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=17, inv_iters=0) // ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=17, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=17, inv_iters=0) // ASM-NEXT: } (idx_per_ii=17) // ASM-NEXT: { -// ASM-NEXT: PHI, [$2], [$0] -> [EAST, RED] (t=18, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=18, inv_iters=0) -// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$6] (t=18, inv_iters=0) -// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$4] (t=18, inv_iters=0) -// ASM-NEXT: CTRL_MOV, [SOUTH, RED] -> [NORTH, RED] (t=18, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=18) \ No newline at end of file +// ASM-NEXT: GRANT_PREDICATE, [$3], [WEST, RED] -> [$3] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$0] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$1] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$0] -> [WEST, RED], [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: SHL, [$0], [#1] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: OR, [$0], [#1] -> [WEST, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$1] -> [WEST, RED], [SOUTH, RED], [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$8], [$11] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [$0] -> [SOUTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [EAST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$1] -> [SOUTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$3] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [EAST, RED], [SOUTH, RED] -> [$0], [EAST, RED], [$1], [$3], [$4], [NORTH, RED], [SOUTH, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$1], [$6], [$11], [SOUTH, RED], [$3], [$7], [$5] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$3] -> [NORTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [EAST, RED] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$8] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$5] -> [NORTH, RED] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$3] -> [SOUTH, RED] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$6] -> [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$3] -> [SOUTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [SOUTH, RED] -> [EAST, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$3] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$6] -> [NORTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [SOUTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$4] -> [$2] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [SOUTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=17, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=17) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$7] -> [$0] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) +// ASM: PE(1,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#128] -> [$0] (t=0, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=19, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$5] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [SOUTH, RED] -> [SOUTH, RED], [$1], [$0] (t=1, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$6] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DIV, [$0], [#2] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [SOUTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [EAST, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [SOUTH, RED] -> [$1], [$0] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [SOUTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [EAST, RED], [$0], [$2] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [SOUTH, RED] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: SHL, [$0], [#1] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [SOUTH, RED] -> [$0], [NORTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: CAST_TRUNC, [$0] -> [SOUTH, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$1], [$4] -> [EAST, RED], [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$3] -> [EAST, RED], [NORTH, RED], [$0] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [WEST, RED], [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$2], [$5] -> [NORTH, RED], [$0] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [NORTH, RED], [$6] -> [NORTH, RED], [WEST, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$0], [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$3] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [SOUTH, RED] -> [$0], [EAST, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [NORTH, RED], [$0], [$6], [$4], [WEST, RED], [SOUTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$1] -> [NORTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$6] -> [WEST, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=17, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=17) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$4] -> [$4] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=18, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$2] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) +// ASM: PE(2,2): +// ASM-NEXT: { +// ASM-NEXT: ADD, [NORTH, RED], [$0] -> [WEST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#0] -> [$0] (t=1, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=20, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [SOUTH, RED] -> [$2] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [EAST, RED] -> [WEST, RED], [$0] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=3, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [SOUTH, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#1] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [WEST, RED], [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: SHL, [$0], [#1] -> [SOUTH, RED] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$2] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$1], [SOUTH, RED] -> [EAST, RED], [$0] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [SOUTH, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$2], [$3] -> [NORTH, RED], [$0] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [WEST, RED], [$0] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [$0] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [WEST, RED] -> [WEST, RED] (t=17, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=17) +// ASM-NEXT: { +// ASM-NEXT: PHI, [WEST, RED], [$0] -> [EAST, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=18, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$3] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) +// ASM: PE(3,2): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [WEST, RED] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [SOUTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GEP, [WEST, RED] -> [SOUTH, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM: PE(0,3): +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [EAST, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GEP, [EAST, RED] -> [$0], [SOUTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [EAST, RED] -> [EAST, RED], [SOUTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [SOUTH, RED], [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=17, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=17) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) +// ASM: PE(1,3): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [SOUTH, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: AND, [$0], [#4294967294] -> [SOUTH, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$2] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$1], [SOUTH, RED] -> [WEST, RED], [$0] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [WEST, RED], [EAST, RED] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [WEST, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [SOUTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=17, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=17) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [WEST, RED] -> [SOUTH, RED] (t=18, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) +// ASM: PE(2,3): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [SOUTH, RED] (t=17, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=17) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=18, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=18) + + diff --git a/test/e2e/fir/fir_kernel.mlir b/test/e2e/fir/fir_kernel.mlir index f7049b62..38ddf22c 100644 --- a/test/e2e/fir/fir_kernel.mlir +++ b/test/e2e/fir/fir_kernel.mlir @@ -25,80 +25,155 @@ // RUN: FileCheck %s --input-file=%t-generated-instructions.yaml --check-prefix=YAML // RUN: FileCheck %s --input-file=%t-generated-instructions.asm --check-prefix=ASM -// MAPPING: func.func -// MAPPING-SAME: compiled_ii = 5 : i32 -// MAPPING-SAME: mapping_mode = "spatial-temporal" -// MAPPING-SAME: mapping_strategy = "heuristic" -// MAPPING-SAME: rec_mii = 5 : i32 -// MAPPING-SAME: res_mii = 2 : i32 -// MAPPING-SAME: x_tiles = 4 : i32 -// MAPPING-SAME: y_tiles = 4 : i32 -// -// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %2 = neura.reserve {dfg_id = 2 : i32} : !neura.data -// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %4 = neura.phi_start %3, %2 {dfg_id = 8 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data -// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 5 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %7 = neura.phi_start %6, %5 {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 11 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = "neura.gep"(%8) <{operandSegmentSizes = array}> {dfg_id = 15 : i32, lhs_value = "%arg0", mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %10 = "neura.data_mov"(%9) {dfg_id = 19 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %11 = "neura.load"(%10) {dfg_id = 22 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %13 = "neura.gep"(%12) <{operandSegmentSizes = array}> {dfg_id = 14 : i32, lhs_value = "%arg2", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%13) {dfg_id = 18 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.load"(%14) {dfg_id = 21 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %16 = "neura.data_mov"(%15) {dfg_id = 25 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %17 = "neura.data_mov"(%11) {dfg_id = 26 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.mul"(%16, %17) {dfg_id = 28 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %19 = "neura.data_mov"(%18) {dfg_id = 31 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 17 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 29 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %21 = "neura.add"(%19, %20) {dfg_id = 33 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %22 = "neura.data_mov"(%7) {dfg_id = 9 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %23 = "neura.add"(%22) {dfg_id = 13 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %24 = "neura.data_mov"(%23) {dfg_id = 17 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %25 = "neura.icmp"(%24) <{cmpType = "eq"}> {dfg_id = 20 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 32 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %26 = "neura.data_mov"(%25) {dfg_id = 24 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %27 = "neura.not"(%26) {dfg_id = 27 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%23) {dfg_id = 16 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %29 = "neura.data_mov"(%27) {dfg_id = 30 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 32 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %30 -> %5 {dfg_id = 34 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%21) {dfg_id = 36 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %32 = "neura.data_mov"(%27) {dfg_id = 29 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 289 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 29 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 38 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %33 -> %2 {dfg_id = 40 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}, {id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %34 = "neura.data_mov"(%21) {dfg_id = 35 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %35 = "neura.data_mov"(%25) {dfg_id = 23 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %36 = neura.grant_predicate %34, %35 {dfg_id = 37 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %37 = "neura.data_mov"(%36) {dfg_id = 39 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_value %37 : !neura.data {dfg_id = 41 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} -// MAPPING-NEXT: neura.yield {dfg_id = 4 : i32} +// MAPPING: func.func @_Z6kernelPiS_S_(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readnone}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> (i32 {llvm.noundef}) attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 5 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 5 : i32, res_mii = 2 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["mustprogress", "nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64, will_return} { +// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %2 = neura.reserve {dfg_id = 2 : i32} : !neura.data +// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %4 = neura.phi_start %3, %2 {dfg_id = 8 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data +// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 5 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %7 = neura.phi_start %6, %5 {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 11 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = "neura.gep"(%8) <{operandSegmentSizes = array}> {dfg_id = 15 : i32, lhs_value = "%arg0", mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %10 = "neura.data_mov"(%9) {dfg_id = 19 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = "neura.load"(%10) {dfg_id = 22 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %13 = "neura.gep"(%12) <{operandSegmentSizes = array}> {dfg_id = 14 : i32, lhs_value = "%arg2", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%13) {dfg_id = 18 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 22 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.load"(%14) {dfg_id = 21 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %16 = "neura.data_mov"(%15) {dfg_id = 25 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %17 = "neura.data_mov"(%11) {dfg_id = 26 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 2000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.mul"(%16, %17) {dfg_id = 28 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %19 = "neura.data_mov"(%18) {dfg_id = 31 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 29 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %21 = "neura.add"(%19, %20) {dfg_id = 33 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %22 = "neura.data_mov"(%7) {dfg_id = 9 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = "neura.add"(%22) {dfg_id = 13 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %24 = "neura.data_mov"(%23) {dfg_id = 17 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %25 = "neura.icmp"(%24) <{cmpType = "eq"}> {dfg_id = 20 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 32 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %26 = "neura.data_mov"(%25) {dfg_id = 24 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %27 = "neura.not"(%26) {dfg_id = 27 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%23) {dfg_id = 16 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = "neura.data_mov"(%27) {dfg_id = 30 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 32 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %30 -> %5 {dfg_id = 34 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%21) {dfg_id = 36 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %32 = "neura.data_mov"(%27) {dfg_id = 29 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 27 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 25 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 38 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %33 -> %2 {dfg_id = 40 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %34 = "neura.data_mov"(%21) {dfg_id = 35 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %35 = "neura.data_mov"(%25) {dfg_id = 23 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %36 = neura.grant_predicate %34, %35 {dfg_id = 37 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %37 = "neura.data_mov"(%36) {dfg_id = 39 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_value %37 : !neura.data {dfg_id = 41 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 4 : i32} +// MAPPING-NEXT: } +// MAPPING-NEXT: } - -// YAML: array_config: +// YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 5 // YAML-NEXT: cores: +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 310001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 28 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 22 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "3" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 21 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" // YAML-NEXT: - column: 0 // YAML-NEXT: row: 1 // YAML-NEXT: core_id: "4" // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 29 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 3 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "CTRL_MOV" -// YAML-NEXT: id: 400001 +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 38 // YAML-NEXT: time_step: 8 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" @@ -108,68 +183,356 @@ // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: - // YAML-NEXT: - index_per_ii: 1 - // YAML-NEXT: operations: - // YAML-NEXT: - opcode: "ADD" - // YAML-NEXT: id: 33 - // YAML-NEXT: time_step: 6 - // YAML-NEXT: invalid_iterations: 1 - // YAML-NEXT: src_operands: - // YAML-NEXT: - operand: "EAST" - // YAML-NEXT: color: "RED" - +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 12 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 33 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VALUE" +// YAML-NEXT: id: 41 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 15 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 180001 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 290002 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 1 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 8 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 120001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 290001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 37 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 23 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 32 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 7 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 13 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 20 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#32" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 27 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "11" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 14 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" -// ASM: # Compiled II: 5 -// ASM: PE(0,1): +// ASM: # Compiled II: 5 +// ASM: PE(1,0): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM: PE(2,0): +// ASM-NEXT: { +// ASM-NEXT: MUL, [EAST, RED], [$0] -> [WEST, RED] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(3,0): // ASM-NEXT: { -// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [NORTH, RED] (t=8, inv_iters=1) +// ASM-NEXT: LOAD, [NORTH, RED] -> [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=7, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [NORTH, RED] (t=8, inv_iters=1) // ASM-NEXT: } (idx_per_ii=3) -// ASM: PE(1,1): +// ASM: PE(1,1): // ASM-NEXT: { -// ASM-NEXT: ADD, [EAST, RED], [NORTH, RED] -> [$0], [NORTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=6, inv_iters=1) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [WEST, RED] (t=7, inv_iters=1) +// ASM-NEXT: ADD, [SOUTH, RED], [$0] -> [WEST, RED], [NORTH, RED] (t=7, inv_iters=1) // ASM-NEXT: } (idx_per_ii=2) -// ASM: PE(2,1): // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=5, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: RETURN_VALUE, [NORTH, RED] (t=9, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(2,1): // ASM-NEXT: { -// ASM-NEXT: GEP, [NORTH, RED] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: GEP, [NORTH, RED] -> [SOUTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) +// ASM: PE(3,1): // ASM-NEXT: { -// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=3, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=3, inv_iters=0) // ASM-NEXT: } (idx_per_ii=3) -// ASM: PE(3,1): +// ASM: PE(0,2): // ASM-NEXT: { -// ASM-NEXT: MUL, [NORTH, RED], [WEST, RED] -> [WEST, RED] (t=4, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=4) -// ASM: PE(0,2): +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [#0] -> [$0] (t=3, inv_iters=0) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { // ASM-NEXT: PHI_START, [$0], [SOUTH, RED] -> [EAST, RED] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) -// ASM: PE(1,2): +// ASM: PE(1,2): // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=5, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=5, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=6, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=1) -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$0] -> [$0] (t=7, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=2) -// ASM-NEXT: { -// ASM-NEXT: RETURN_VALUE, [$0] (t=8, inv_iters=1) +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$0] -> [SOUTH, RED] (t=8, inv_iters=1) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) -// ASM: PE(2,2): +// ASM: PE(2,2): // ASM-NEXT: { // ASM-NEXT: GRANT_PREDICATE, [$1], [$0] -> [$0] (t=5, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) @@ -185,6 +548,14 @@ // ASM-NEXT: { // ASM-NEXT: NOT, [$0] -> [$0], [WEST, RED] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(3,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#0] -> [WEST, RED] (t=0, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GEP, [WEST, RED] -> [SOUTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) + // RUN: mlir-neura-opt %t-kernel.mlir --view-op-graph 2>&1 | sed -n '/^digraph G {/,/^}$/p' > fir_kernel_original.dot // RUN: dot -Tpng fir_kernel_original.dot -o fir_kernel_original.png diff --git a/test/e2e/fir/fir_kernel_vec.mlir b/test/e2e/fir/fir_kernel_vec.mlir index 366feba8..263a3324 100644 --- a/test/e2e/fir/fir_kernel_vec.mlir +++ b/test/e2e/fir/fir_kernel_vec.mlir @@ -23,65 +23,127 @@ // RUN: FileCheck %s --input-file=%t-generated-instructions.yaml --check-prefix=YAML // RUN: FileCheck %s --input-file=%t-generated-instructions.asm --check-prefix=ASM -// MAPPING: func.func -// MAPPING-SAME: compiled_ii = 5 : i32 -// MAPPING-SAME: mapping_mode = "spatial-temporal" -// MAPPING-SAME: mapping_strategy = "heuristic" -// MAPPING-SAME: rec_mii = 5 : i32 -// MAPPING-SAME: res_mii = 2 : i32 -// MAPPING-SAME: x_tiles = 4 : i32 -// MAPPING-SAME: y_tiles = 4 : i32 -// -// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = dense<0> : vector<4xi32>}> {dfg_id = 1 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data, i1> -// MAPPING-NEXT: %2 = neura.reserve {dfg_id = 2 : i32} : !neura.data, i1> -// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %4 = neura.phi_start %3, %2 {dfg_id = 8 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, i1>, !neura.data, i1> -> !neura.data, i1> -// MAPPING-NEXT: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data -// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 5 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %7 = neura.phi_start %6, %5 {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 11 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = "neura.gep"(%8) <{operandSegmentSizes = array}> {dfg_id = 15 : i32, lhs_value = "%arg0", mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %10 = "neura.data_mov"(%9) {dfg_id = 19 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %11 = "neura.load"(%10) {dfg_id = 22 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data, i1> -// MAPPING-NEXT: %12 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %13 = "neura.gep"(%12) <{operandSegmentSizes = array}> {dfg_id = 14 : i32, lhs_value = "%arg2", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%13) {dfg_id = 18 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.load"(%14) {dfg_id = 21 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data, i1> -// MAPPING-NEXT: %16 = "neura.data_mov"(%15) {dfg_id = 25 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %17 = "neura.data_mov"(%11) {dfg_id = 26 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %18 = "neura.vmul"(%16, %17) {dfg_id = 28 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data, i1>, !neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %19 = "neura.data_mov"(%18) {dfg_id = 31 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 17 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %20 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 29 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %21 = "neura.vadd"(%19, %20) {dfg_id = 33 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, i1>, !neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %22 = "neura.data_mov"(%7) {dfg_id = 9 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %23 = "neura.add"(%22) {dfg_id = 13 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %24 = "neura.data_mov"(%23) {dfg_id = 17 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %25 = "neura.icmp"(%24) <{cmpType = "eq"}> {dfg_id = 20 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 32 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %26 = "neura.data_mov"(%25) {dfg_id = 24 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %27 = "neura.not"(%26) {dfg_id = 27 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%23) {dfg_id = 16 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %29 = "neura.data_mov"(%27) {dfg_id = 30 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 32 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %30 -> %5 {dfg_id = 34 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%21) {dfg_id = 36 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 128 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %32 = "neura.data_mov"(%27) {dfg_id = 29 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 27 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 25 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 129 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 38 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, i1>, !neura.data -> !neura.data, i1> -// MAPPING-NEXT: neura.ctrl_mov %33 -> %2 {dfg_id = 40 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : !neura.data, i1> !neura.data, i1> -// MAPPING-NEXT: %34 = "neura.data_mov"(%21) {dfg_id = 35 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %35 = "neura.data_mov"(%25) {dfg_id = 23 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %36 = neura.grant_predicate %34, %35 {dfg_id = 37 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, i1>, !neura.data -> !neura.data, i1> -// MAPPING-NEXT: %37 = "neura.data_mov"(%36) {dfg_id = 39 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> -// MAPPING-NEXT: %38 = "neura.vector.reduce.add"(%37) {dfg_id = 41 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, i1>) -> !neura.data -// MAPPING-NEXT: %39 = "neura.data_mov"(%38) {dfg_id = 42 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_value %39 : !neura.data {dfg_id = 43 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}]} -// MAPPING-NEXT: neura.yield {dfg_id = 4 : i32} +// MAPPING: func.func @_Z6kernelPiS_S_(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readnone}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> (i32 {llvm.noundef}) attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 5 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 5 : i32, res_mii = 2 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["mustprogress", "nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64, will_return} { +// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.grant_once"() <{constant_value = dense<0> : vector<4xi32>}> {dfg_id = 1 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data, i1> +// MAPPING-NEXT: %2 = neura.reserve {dfg_id = 2 : i32} : !neura.data, i1> +// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %4 = neura.phi_start %3, %2 {dfg_id = 8 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, i1>, !neura.data, i1> -> !neura.data, i1> +// MAPPING-NEXT: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data +// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 5 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %7 = neura.phi_start %6, %5 {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 11 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = "neura.gep"(%8) <{operandSegmentSizes = array}> {dfg_id = 15 : i32, lhs_value = "%arg0", mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %10 = "neura.data_mov"(%9) {dfg_id = 19 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = "neura.load"(%10) {dfg_id = 22 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data, i1> +// MAPPING-NEXT: %12 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %13 = "neura.gep"(%12) <{operandSegmentSizes = array}> {dfg_id = 14 : i32, lhs_value = "%arg2", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%13) {dfg_id = 18 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 22 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.load"(%14) {dfg_id = 21 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data, i1> +// MAPPING-NEXT: %16 = "neura.data_mov"(%15) {dfg_id = 25 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %17 = "neura.data_mov"(%11) {dfg_id = 26 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 2000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %18 = "neura.vmul"(%16, %17) {dfg_id = 28 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, i1>, !neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %19 = "neura.data_mov"(%18) {dfg_id = 31 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %20 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 29 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %21 = "neura.vadd"(%19, %20) {dfg_id = 33 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, i1>, !neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %22 = "neura.data_mov"(%7) {dfg_id = 9 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = "neura.add"(%22) {dfg_id = 13 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %24 = "neura.data_mov"(%23) {dfg_id = 17 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %25 = "neura.icmp"(%24) <{cmpType = "eq"}> {dfg_id = 20 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 32 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %26 = "neura.data_mov"(%25) {dfg_id = 24 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %27 = "neura.not"(%26) {dfg_id = 27 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%23) {dfg_id = 16 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = "neura.data_mov"(%27) {dfg_id = 30 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 32 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %30 -> %5 {dfg_id = 34 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%21) {dfg_id = 36 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %32 = "neura.data_mov"(%27) {dfg_id = 29 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 27 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 25 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 38 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, i1>, !neura.data -> !neura.data, i1> +// MAPPING-NEXT: neura.ctrl_mov %33 -> %2 {dfg_id = 40 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : !neura.data, i1> !neura.data, i1> +// MAPPING-NEXT: %34 = "neura.data_mov"(%21) {dfg_id = 35 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %35 = "neura.data_mov"(%25) {dfg_id = 23 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %36 = neura.grant_predicate %34, %35 {dfg_id = 37 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, i1>, !neura.data -> !neura.data, i1> +// MAPPING-NEXT: %37 = "neura.data_mov"(%36) {dfg_id = 39 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data, i1>) -> !neura.data, i1> +// MAPPING-NEXT: %38 = "neura.vector.reduce.add"(%37) {dfg_id = 41 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, i1>) -> !neura.data +// MAPPING-NEXT: %39 = "neura.data_mov"(%38) {dfg_id = 42 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_value %39 : !neura.data {dfg_id = 43 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 3 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 4 : i32} +// MAPPING-NEXT: } -// YAML: array_config: + +// YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 5 // YAML-NEXT: cores: +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 310001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "VMUL" +// YAML-NEXT: id: 28 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 22 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "3" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 21 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" // YAML-NEXT: - column: 0 // YAML-NEXT: row: 1 // YAML-NEXT: core_id: "4" @@ -91,65 +153,424 @@ // YAML-NEXT: - index_per_ii: 2 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 36 +// YAML-NEXT: id: 29 // YAML-NEXT: time_step: 7 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 38 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: // YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 29 +// YAML-NEXT: id: 12 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "VADD" +// YAML-NEXT: id: 33 // YAML-NEXT: time_step: 7 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 15 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$1" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 180001 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 290002 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 1 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 8 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 120001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 290001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 3 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "GRANT_PREDICATE" -// YAML-NEXT: id: 38 +// YAML-NEXT: id: 37 // YAML-NEXT: time_step: 8 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 23 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "VECTOR.REDUCE.ADD" +// YAML-NEXT: id: 41 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 32 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 7 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 13 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 20 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#32" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 27 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "11" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 14 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "13" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VALUE" +// YAML-NEXT: id: 43 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 2 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" -// ASM: # Compiled II: 5 -// ASM: PE(0,1): +// ASM: # Compiled II: 5 +// ASM: PE(1,0): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM: PE(2,0): // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=7, inv_iters=1) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=7, inv_iters=1) +// ASM-NEXT: VMUL, [EAST, RED], [$0] -> [WEST, RED] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(3,0): +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=7, inv_iters=1) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED] (t=8, inv_iters=1) +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [NORTH, RED] (t=8, inv_iters=1) // ASM-NEXT: } (idx_per_ii=3) -// ASM: PE(1,1): +// ASM: PE(1,1): // ASM-NEXT: { -// ASM-NEXT: VADD, [EAST, RED], [NORTH, RED] -> [WEST, RED], [NORTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=6, inv_iters=1) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: RETURN_VALUE, [NORTH, RED] (t=9, inv_iters=1) +// ASM-NEXT: VADD, [SOUTH, RED], [$0] -> [WEST, RED], [NORTH, RED] (t=7, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: GEP, [NORTH, RED] -> [SOUTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [] -> [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [SOUTH, RED] -> [EAST, RED] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) -// ASM: PE(2,1): +// ASM: PE(1,2): // ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=5, inv_iters=1) // ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=5, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: GEP, [NORTH, RED] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$0] -> [$0] (t=8, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=4, inv_iters=0) +// ASM-NEXT: VECTOR.REDUCE.ADD, [$0] -> [NORTH, RED] (t=9, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM: PE(2,2): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$0] -> [$0] (t=5, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [EAST, RED], [$0] -> [SOUTH, RED], [EAST, RED], [$0] (t=1, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#4] -> [$0], [$1] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { -// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=3, inv_iters=0) +// ASM-NEXT: ICMP_EQ, [$0], [#32] -> [$0], [WEST, RED] (t=3, inv_iters=0) // ASM-NEXT: } (idx_per_ii=3) -// ASM: PE(3,1): // ASM-NEXT: { -// ASM-NEXT: VMUL, [NORTH, RED], [WEST, RED] -> [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: NOT, [$0] -> [$0], [WEST, RED] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) -// ASM: PE(0,2): +// ASM: PE(3,2): // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=6, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: GRANT_ONCE, [#0] -> [WEST, RED] (t=0, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GEP, [WEST, RED] -> [SOUTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM: PE(1,3): +// ASM-NEXT: { +// ASM-NEXT: RETURN_VALUE, [SOUTH, RED] (t=10, inv_iters=2) +// ASM-NEXT: } (idx_per_ii=0) + + diff --git a/test/e2e/gemm/gemm_kernel.mlir b/test/e2e/gemm/gemm_kernel.mlir index 436c3f2d..fa3dc854 100644 --- a/test/e2e/gemm/gemm_kernel.mlir +++ b/test/e2e/gemm/gemm_kernel.mlir @@ -22,276 +22,277 @@ // RUN: FileCheck %s --input-file=tmp-generated-instructions.yaml --check-prefix=YAML // RUN: FileCheck %s --input-file=tmp-generated-instructions.asm --check-prefix=ASM // -// MAPPING: func.func @kernel(%arg0: i32 {llvm.noundef}, %arg1: i32 {llvm.noundef}, %arg2: i32 {llvm.noundef}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg5: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 17 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 13 : i32, res_mii = 6 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { -// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = "%arg0"}> {dfg_id = 0 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %1 = "neura.constant"() <{value = "%arg0"}> {dfg_id = 1 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %2 = "neura.grant_once"() <{constant_value = "%arg1"}> {dfg_id = 2 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 1 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %3 = "neura.constant"() <{value = "%arg1"}> {dfg_id = 3 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 1 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %4 = "neura.grant_once"() <{constant_value = "%arg2"}> {dfg_id = 4 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %5 = "neura.constant"() <{value = "%arg2"}> {dfg_id = 5 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %6 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 6 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %7 = "neura.data_mov"(%1) {dfg_id = 28 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %8 = "neura.icmp"(%7) <{cmpType = "sgt"}> {dfg_id = 34 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = "neura.data_mov"(%5) {dfg_id = 32 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %10 = "neura.icmp"(%9) <{cmpType = "sgt"}> {dfg_id = 36 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 2 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %11 = "neura.data_mov"(%8) {dfg_id = 37 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = "neura.data_mov"(%10) {dfg_id = 39 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %13 = "neura.and"(%11, %12) {dfg_id = 40 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%3) {dfg_id = 30 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.icmp"(%14) <{cmpType = "sgt"}> {dfg_id = 35 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 1 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %16 = "neura.data_mov"(%13) {dfg_id = 41 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %17 = "neura.data_mov"(%15) {dfg_id = 38 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.and"(%16, %17) {dfg_id = 42 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %19 = "neura.data_mov"(%18) {dfg_id = 44 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = "neura.grant_once"(%19) {dfg_id = 46 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %21 = "neura.data_mov"(%18) {dfg_id = 43 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 2 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 2 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 2 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %22 = "neura.not"(%21) {dfg_id = 45 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %23 = "neura.data_mov"(%22) {dfg_id = 47 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %24 = "neura.grant_once"(%23) {dfg_id = 53 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %25 = "neura.data_mov"(%0) {dfg_id = 27 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %26 = "neura.data_mov"(%20) {dfg_id = 52 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %27 = neura.grant_predicate %25, %26 {dfg_id = 58 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%4) {dfg_id = 31 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %29 = "neura.data_mov"(%20) {dfg_id = 51 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 24 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 28 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 57 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%2) {dfg_id = 29 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %32 = "neura.data_mov"(%20) {dfg_id = 50 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 56 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %34 = "neura.data_mov"(%6) {dfg_id = 33 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %35 = "neura.data_mov"(%20) {dfg_id = 49 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %36 = neura.grant_predicate %34, %35 {dfg_id = 55 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %37 = "neura.data_mov"(%20) {dfg_id = 48 : i32, mapping_locs = [{id = 130 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 12 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 256 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 256 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 256 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 256 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 256 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 256 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 256 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 256 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 256 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 256 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %38 = "neura.not"(%37) {dfg_id = 54 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %39 = "neura.data_mov"(%24) {dfg_id = 59 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %40 = "neura.data_mov"(%38) {dfg_id = 60 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %41 = neura.grant_predicate %39, %40 {dfg_id = 66 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %42 = "neura.data_mov"(%27) {dfg_id = 65 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %43 = neura.zext %42 {dfg_id = 71 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %44 = "neura.data_mov"(%30) {dfg_id = 64 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %45 = neura.zext %44 {dfg_id = 70 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %46 = "neura.data_mov"(%33) {dfg_id = 63 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %47 = neura.zext %46 {dfg_id = 69 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %48 = neura.reserve {dfg_id = 7 : i32} : !neura.data -// MAPPING-NEXT: %49 = "neura.data_mov"(%43) {dfg_id = 78 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %50 = neura.phi_start %49, %48 {dfg_id = 84 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %51 = neura.reserve {dfg_id = 8 : i32} : !neura.data -// MAPPING-NEXT: %52 = "neura.data_mov"(%45) {dfg_id = 77 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %53 = neura.phi_start %52, %51 {dfg_id = 83 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %54 = neura.reserve {dfg_id = 9 : i32} : !neura.data -// MAPPING-NEXT: %55 = "neura.data_mov"(%47) {dfg_id = 76 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %56 = neura.phi_start %55, %54 {dfg_id = 82 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %57 = neura.reserve {dfg_id = 10 : i32} : !neura.data -// MAPPING-NEXT: %58 = "neura.data_mov"(%36) {dfg_id = 62 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %59 = neura.phi_start %58, %57 {dfg_id = 68 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %60 = neura.reserve {dfg_id = 11 : i32} : !neura.data -// MAPPING-NEXT: %61 = "neura.data_mov"(%36) {dfg_id = 61 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %62 = neura.phi_start %61, %60 {dfg_id = 67 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %63 = neura.reserve {dfg_id = 12 : i32} : !neura.data -// MAPPING-NEXT: %64 = "neura.data_mov"(%50) {dfg_id = 93 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %65 = neura.phi_start %64, %63 {dfg_id = 101 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %66 = neura.reserve {dfg_id = 13 : i32} : !neura.data -// MAPPING-NEXT: %67 = "neura.data_mov"(%53) {dfg_id = 92 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %68 = neura.phi_start %67, %66 {dfg_id = 100 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %69 = neura.reserve {dfg_id = 14 : i32} : !neura.data -// MAPPING-NEXT: %70 = "neura.data_mov"(%56) {dfg_id = 91 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %71 = neura.phi_start %70, %69 {dfg_id = 99 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %72 = neura.reserve {dfg_id = 15 : i32} : !neura.data -// MAPPING-NEXT: %73 = "neura.data_mov"(%59) {dfg_id = 75 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %74 = neura.phi_start %73, %72 {dfg_id = 81 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %75 = neura.reserve {dfg_id = 16 : i32} : !neura.data -// MAPPING-NEXT: %76 = "neura.data_mov"(%62) {dfg_id = 73 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %77 = neura.phi_start %76, %75 {dfg_id = 79 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %78 = neura.reserve {dfg_id = 17 : i32} : !neura.data -// MAPPING-NEXT: %79 = "neura.data_mov"(%59) {dfg_id = 74 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 128 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 128 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %80 = neura.phi_start %79, %78 {dfg_id = 80 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %81 = "neura.data_mov"(%77) {dfg_id = 86 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 13 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 130 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 130 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %82 = "neura.data_mov"(%80) {dfg_id = 88 : i32, mapping_locs = [{id = 131 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 131 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 131 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 131 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 131 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 131 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %83 = "neura.gep"(%81, %82) <{operandSegmentSizes = array}> {dfg_id = 96 : i32, lhs_value = "%arg4", mapping_locs = [{id = 4 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %84 = neura.reserve {dfg_id = 18 : i32} : !neura.data -// MAPPING-NEXT: %85 = "neura.data_mov"(%74) {dfg_id = 90 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 194 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 194 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 194 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 194 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 194 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 194 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 194 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 194 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %86 = neura.phi_start %85, %84 {dfg_id = 98 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %87 = neura.reserve {dfg_id = 19 : i32} : !neura.data -// MAPPING-NEXT: %88 = "neura.data_mov"(%65) {dfg_id = 116 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %89 = neura.phi_start %88, %87 {dfg_id = 123 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %90 = neura.reserve {dfg_id = 20 : i32} : !neura.data -// MAPPING-NEXT: %91 = "neura.data_mov"(%68) {dfg_id = 115 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %92 = neura.phi_start %91, %90 {dfg_id = 122 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %93 = neura.reserve {dfg_id = 21 : i32} : !neura.data -// MAPPING-NEXT: %94 = "neura.data_mov"(%71) {dfg_id = 114 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %95 = neura.phi_start %94, %93 {dfg_id = 121 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %96 = neura.reserve {dfg_id = 22 : i32} : !neura.data -// MAPPING-NEXT: %97 = "neura.data_mov"(%77) {dfg_id = 85 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %98 = neura.phi_start %97, %96 {dfg_id = 94 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %99 = neura.reserve {dfg_id = 23 : i32} : !neura.data -// MAPPING-NEXT: %100 = "neura.data_mov"(%80) {dfg_id = 87 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %101 = neura.phi_start %100, %99 {dfg_id = 95 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %102 = neura.reserve {dfg_id = 24 : i32} : !neura.data -// MAPPING-NEXT: %103 = "neura.data_mov"(%83) {dfg_id = 108 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %104 = neura.phi_start %103, %102 {dfg_id = 117 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %105 = neura.reserve {dfg_id = 25 : i32} : !neura.data -// MAPPING-NEXT: %106 = "neura.data_mov"(%74) {dfg_id = 89 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %107 = neura.phi_start %106, %105 {dfg_id = 97 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %108 = "neura.data_mov"(%104) {dfg_id = 125 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %109 = "neura.load"(%108) {dfg_id = 138 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %110 = "neura.data_mov"(%101) {dfg_id = 107 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 32 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 32 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 32 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 32 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %111 = "neura.data_mov"(%107) {dfg_id = 111 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 33 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 33 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 33 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 33 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 33 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 33 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 33 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %112 = "neura.gep"(%110, %111) <{operandSegmentSizes = array}> {dfg_id = 120 : i32, lhs_value = "%arg5", mapping_locs = [{id = 1 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %113 = "neura.data_mov"(%112) {dfg_id = 130 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %114 = "neura.load"(%113) {dfg_id = 140 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %115 = "neura.data_mov"(%98) {dfg_id = 104 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 195 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 195 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 195 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 195 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %116 = "neura.data_mov"(%107) {dfg_id = 110 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 196 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}, {id = 196 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 196 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 196 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 196 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 196 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 196 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 196 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %117 = "neura.gep"(%115, %116) <{operandSegmentSizes = array}> {dfg_id = 119 : i32, lhs_value = "%arg3", mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %118 = "neura.data_mov"(%117) {dfg_id = 129 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %119 = "neura.load"(%118) {dfg_id = 139 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %120 = "neura.data_mov"(%109) {dfg_id = 142 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 64 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %121 = "neura.data_mov"(%114) {dfg_id = 144 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 65 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 65 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %122 = "neura.data_mov"(%119) {dfg_id = 143 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 19 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %123 = "neura.fmul_fadd"(%120, %121, %122) {dfg_id = 152 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %124 = "neura.data_mov"(%123) {dfg_id = 160 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %125 = "neura.data_mov"(%117) {dfg_id = 128 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 66 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 66 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 66 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%124, %125) {dfg_id = 181 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %126 = "neura.data_mov"(%107) {dfg_id = 109 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %127 = "neura.add"(%126) {dfg_id = 118 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %128 = "neura.data_mov"(%127) {dfg_id = 127 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %129 = "neura.data_mov"(%95) {dfg_id = 133 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %130 = "neura.icmp"(%128, %129) <{cmpType = "eq"}> {dfg_id = 141 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %131 = "neura.data_mov"(%130) {dfg_id = 151 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %132 = "neura.not"(%131) {dfg_id = 159 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %133 = "neura.data_mov"(%127) {dfg_id = 126 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 162 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 162 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 162 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 162 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %134 = "neura.data_mov"(%132) {dfg_id = 180 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 163 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 163 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %135 = neura.grant_predicate %133, %134 {dfg_id = 190 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %135 -> %105 {dfg_id = 200 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 161 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 161 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 161 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 161 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 161 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 161 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 161 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 161 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 161 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 161 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %136 = "neura.data_mov"(%104) {dfg_id = 124 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 257 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 257 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 257 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %137 = "neura.data_mov"(%132) {dfg_id = 179 : i32, mapping_locs = [{id = 167 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 11 : i32}, {id = 164 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 13 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 128 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 12 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 258 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 258 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 258 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 258 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %138 = neura.grant_predicate %136, %137 {dfg_id = 189 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %138 -> %102 {dfg_id = 199 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 134 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 134 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}, {id = 134 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}, {id = 134 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 134 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 134 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 134 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 134 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 134 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}, {id = 134 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 30 : i32}, {id = 134 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 31 : i32}, {id = 134 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %139 = "neura.data_mov"(%101) {dfg_id = 106 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 10 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 15 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 34 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 34 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 34 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 34 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 34 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %140 = "neura.data_mov"(%132) {dfg_id = 178 : i32, mapping_locs = [{id = 166 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 11 : i32}, {id = 161 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 15 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 35 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 35 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 35 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 35 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %141 = neura.grant_predicate %139, %140 {dfg_id = 188 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %141 -> %99 {dfg_id = 198 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 133 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 133 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 133 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 133 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 133 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 133 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %142 = "neura.data_mov"(%98) {dfg_id = 103 : i32, mapping_locs = [{id = 198 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 12 : i32}, {id = 198 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 13 : i32}, {id = 198 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 14 : i32}, {id = 198 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 15 : i32}, {id = 198 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 198 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 17 : i32}, {id = 198 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}, {id = 198 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 19 : i32}, {id = 198 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}, {id = 198 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 198 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %143 = "neura.data_mov"(%132) {dfg_id = 177 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 3 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 7 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 199 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 14 : i32}, {id = 199 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 15 : i32}, {id = 199 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 199 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}, {id = 199 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 18 : i32}, {id = 199 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 19 : i32}, {id = 199 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 20 : i32}, {id = 199 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 21 : i32}, {id = 199 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %144 = neura.grant_predicate %142, %143 {dfg_id = 187 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %144 -> %96 {dfg_id = 197 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 195 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 195 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 195 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 195 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}, {id = 195 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %145 = "neura.data_mov"(%95) {dfg_id = 132 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 289 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 289 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %146 = "neura.data_mov"(%132) {dfg_id = 176 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %147 = neura.grant_predicate %145, %146 {dfg_id = 186 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %147 -> %93 {dfg_id = 196 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 289 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 289 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 289 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 289 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 289 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 289 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 289 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 289 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 289 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 289 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %148 = "neura.data_mov"(%92) {dfg_id = 135 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 322 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 322 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 322 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 322 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 322 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 322 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 322 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 322 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %149 = "neura.data_mov"(%132) {dfg_id = 175 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 11 : i32}, {id = 16 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 28 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 323 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 323 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 323 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 323 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 323 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 323 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %150 = neura.grant_predicate %148, %149 {dfg_id = 185 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %150 -> %90 {dfg_id = 195 : i32, mapping_locs = [{id = 323 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 323 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 323 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 323 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 323 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 323 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 323 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 323 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %151 = "neura.data_mov"(%89) {dfg_id = 137 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 1 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 1 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 1 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %152 = "neura.data_mov"(%132) {dfg_id = 174 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 11 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 3 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 3 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 3 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 3 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %153 = neura.grant_predicate %151, %152 {dfg_id = 184 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %153 -> %87 {dfg_id = 194 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 132 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 132 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 132 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 132 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 132 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 132 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 132 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 132 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}, {id = 132 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 28 : i32}, {id = 132 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 29 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %154 = "neura.data_mov"(%86) {dfg_id = 113 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 224 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 224 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %155 = "neura.data_mov"(%132) {dfg_id = 173 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 14 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 18 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 225 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 225 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 225 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 225 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 225 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %156 = neura.grant_predicate %154, %155 {dfg_id = 183 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %156 -> %84 {dfg_id = 193 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 197 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 197 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 197 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 197 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 197 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 197 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 197 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 197 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 197 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 197 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 197 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 197 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}, {id = 197 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %157 = "neura.data_mov"(%101) {dfg_id = 105 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 160 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %158 = "neura.data_mov"(%130) {dfg_id = 150 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %159 = neura.grant_predicate %157, %158 {dfg_id = 158 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %160 = "neura.data_mov"(%92) {dfg_id = 134 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %161 = "neura.data_mov"(%130) {dfg_id = 149 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 20 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %162 = neura.grant_predicate %160, %161 {dfg_id = 157 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %163 = "neura.data_mov"(%98) {dfg_id = 102 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %164 = "neura.data_mov"(%130) {dfg_id = 148 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 14 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 193 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %165 = neura.grant_predicate %163, %164 {dfg_id = 156 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %166 = "neura.data_mov"(%89) {dfg_id = 136 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %167 = "neura.data_mov"(%130) {dfg_id = 147 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 129 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 129 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 129 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %168 = neura.grant_predicate %166, %167 {dfg_id = 155 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %169 = "neura.data_mov"(%86) {dfg_id = 112 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %170 = "neura.data_mov"(%130) {dfg_id = 146 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 7 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 193 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 193 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 193 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 193 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %171 = neura.grant_predicate %169, %170 {dfg_id = 154 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %172 = "neura.data_mov"(%95) {dfg_id = 131 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 288 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %173 = "neura.data_mov"(%130) {dfg_id = 145 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %174 = neura.grant_predicate %172, %173 {dfg_id = 153 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %175 = "neura.data_mov"(%159) {dfg_id = 172 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %176 = "neura.add"(%175) {dfg_id = 182 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %177 = "neura.data_mov"(%176) {dfg_id = 192 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %178 = "neura.data_mov"(%162) {dfg_id = 171 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 288 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %179 = "neura.icmp"(%177, %178) <{cmpType = "eq"}> {dfg_id = 201 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %180 = "neura.data_mov"(%179) {dfg_id = 207 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %181 = "neura.not"(%180) {dfg_id = 213 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %182 = "neura.data_mov"(%176) {dfg_id = 191 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 164 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 164 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 164 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %183 = "neura.data_mov"(%181) {dfg_id = 225 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 160 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %184 = neura.grant_predicate %182, %183 {dfg_id = 232 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %184 -> %78 {dfg_id = 240 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 129 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 129 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 129 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 129 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 129 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 129 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 129 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 129 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %185 = "neura.data_mov"(%165) {dfg_id = 168 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 324 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 324 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 324 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 324 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 324 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 324 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 324 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %186 = "neura.data_mov"(%181) {dfg_id = 224 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 41 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 45 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 325 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 325 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 325 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %187 = neura.grant_predicate %185, %186 {dfg_id = 231 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %187 -> %75 {dfg_id = 239 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 200 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 22 : i32}, {id = 200 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 23 : i32}, {id = 200 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 24 : i32}, {id = 200 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 25 : i32}, {id = 200 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 26 : i32}, {id = 200 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %188 = "neura.data_mov"(%171) {dfg_id = 164 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %189 = "neura.data_mov"(%181) {dfg_id = 223 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 28 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 33 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %190 = neura.grant_predicate %188, %189 {dfg_id = 230 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %190 -> %72 {dfg_id = 238 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 162 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %191 = "neura.data_mov"(%174) {dfg_id = 162 : i32, mapping_locs = [{id = 292 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 292 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 292 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 292 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 292 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 292 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 292 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 292 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %192 = "neura.data_mov"(%181) {dfg_id = 222 : i32, mapping_locs = [{id = 293 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 293 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 293 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 293 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %193 = neura.grant_predicate %191, %192 {dfg_id = 229 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %193 -> %69 {dfg_id = 237 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 290 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 290 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %194 = "neura.data_mov"(%162) {dfg_id = 170 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 321 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 321 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 321 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %195 = "neura.data_mov"(%181) {dfg_id = 221 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %196 = neura.grant_predicate %194, %195 {dfg_id = 228 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %196 -> %66 {dfg_id = 236 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 321 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 321 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 321 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 321 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 321 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 321 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 321 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %197 = "neura.data_mov"(%168) {dfg_id = 166 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 16 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 295 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 295 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}, {id = 295 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 18 : i32}, {id = 295 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 19 : i32}, {id = 295 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 20 : i32}, {id = 295 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %198 = "neura.data_mov"(%181) {dfg_id = 220 : i32, mapping_locs = [{id = 296 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 15 : i32}, {id = 296 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 16 : i32}, {id = 296 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 17 : i32}, {id = 296 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 18 : i32}, {id = 296 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 19 : i32}, {id = 296 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 20 : i32}, {id = 296 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %199 = neura.grant_predicate %197, %198 {dfg_id = 227 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %199 -> %63 {dfg_id = 235 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 25 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}, {id = 135 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 24 : i32}, {id = 135 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 25 : i32}, {id = 135 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 26 : i32}, {id = 135 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 27 : i32}, {id = 135 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %200 = "neura.data_mov"(%165) {dfg_id = 167 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 160 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %201 = "neura.data_mov"(%179) {dfg_id = 206 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %202 = neura.grant_predicate %200, %201 {dfg_id = 212 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %203 = "neura.data_mov"(%168) {dfg_id = 165 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %204 = "neura.data_mov"(%179) {dfg_id = 205 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %205 = neura.grant_predicate %203, %204 {dfg_id = 211 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %206 = "neura.data_mov"(%171) {dfg_id = 163 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %207 = "neura.data_mov"(%179) {dfg_id = 204 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 41 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 45 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %208 = neura.grant_predicate %206, %207 {dfg_id = 210 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %209 = "neura.data_mov"(%174) {dfg_id = 161 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 290 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 290 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 290 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 290 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %210 = "neura.data_mov"(%179) {dfg_id = 203 : i32, mapping_locs = [{id = 291 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 291 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %211 = neura.grant_predicate %209, %210 {dfg_id = 209 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %212 = "neura.data_mov"(%162) {dfg_id = 169 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 320 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 320 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %213 = "neura.data_mov"(%179) {dfg_id = 202 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %214 = neura.grant_predicate %212, %213 {dfg_id = 208 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %215 = "neura.data_mov"(%202) {dfg_id = 219 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %216 = "neura.add"(%215) {dfg_id = 226 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %217 = "neura.data_mov"(%216) {dfg_id = 234 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 162 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %218 = "neura.data_mov"(%205) {dfg_id = 218 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 29 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %219 = "neura.icmp"(%217, %218) <{cmpType = "eq"}> {dfg_id = 241 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %220 = "neura.data_mov"(%219) {dfg_id = 244 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %221 = "neura.not"(%220) {dfg_id = 246 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %222 = "neura.data_mov"(%216) {dfg_id = 233 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 195 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 195 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 195 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 195 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 195 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %223 = "neura.data_mov"(%221) {dfg_id = 252 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %224 = neura.grant_predicate %222, %223 {dfg_id = 258 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %224 -> %60 {dfg_id = 264 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 193 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %225 = "neura.data_mov"(%208) {dfg_id = 216 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 29 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %226 = "neura.data_mov"(%221) {dfg_id = 251 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 165 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %227 = neura.grant_predicate %225, %226 {dfg_id = 257 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %227 -> %57 {dfg_id = 263 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 131 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %228 = "neura.data_mov"(%211) {dfg_id = 215 : i32, mapping_locs = [{id = 294 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 294 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 17 : i32}, {id = 294 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}, {id = 294 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 19 : i32}, {id = 294 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %229 = "neura.data_mov"(%221) {dfg_id = 250 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 16 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %230 = neura.grant_predicate %228, %229 {dfg_id = 256 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %230 -> %54 {dfg_id = 262 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 288 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}, {id = 288 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %231 = "neura.data_mov"(%214) {dfg_id = 214 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 194 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 194 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 194 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 194 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %232 = "neura.data_mov"(%221) {dfg_id = 249 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %233 = neura.grant_predicate %231, %232 {dfg_id = 255 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %233 -> %51 {dfg_id = 261 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 322 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 322 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 322 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 322 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}, {id = 322 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %234 = "neura.data_mov"(%205) {dfg_id = 217 : i32, mapping_locs = [{id = 257 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 24 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 291 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 291 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 291 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %235 = "neura.data_mov"(%221) {dfg_id = 248 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %236 = neura.grant_predicate %234, %235 {dfg_id = 254 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %236 -> %48 {dfg_id = 260 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 25 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 130 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 130 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 130 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}, {id = 130 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 25 : i32}, {id = 130 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 26 : i32}, {id = 130 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %237 = "neura.data_mov"(%219) {dfg_id = 242 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 162 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %238 = "neura.data_mov"(%219) {dfg_id = 243 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 163 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %239 = neura.grant_predicate %237, %238 {dfg_id = 245 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %240 = "neura.data_mov"(%41) {dfg_id = 72 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 15 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 32 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 32 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %241 = "neura.data_mov"(%239) {dfg_id = 247 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %242 = "neura.phi"(%240, %241) {dfg_id = 253 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %243 = "neura.data_mov"(%242) {dfg_id = 259 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_void %243 : !neura.data {dfg_id = 265 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 0 : i32}]} -// MAPPING-NEXT: neura.yield {dfg_id = 26 : i32} -// MAPPING-NEXT: } -// -// YAML: array_config: +// MAPPING: func.func @kernel(%arg0: i32 {llvm.noundef}, %arg1: i32 {llvm.noundef}, %arg2: i32 {llvm.noundef}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg5: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 17 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 13 : i32, res_mii = 6 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { +// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = "%arg0"}> {dfg_id = 0 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.constant"() <{value = "%arg0"}> {dfg_id = 1 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %2 = "neura.grant_once"() <{constant_value = "%arg1"}> {dfg_id = 2 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 1 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %3 = "neura.constant"() <{value = "%arg1"}> {dfg_id = 3 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 1 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %4 = "neura.grant_once"() <{constant_value = "%arg2"}> {dfg_id = 4 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %5 = "neura.constant"() <{value = "%arg2"}> {dfg_id = 5 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %6 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 6 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %7 = "neura.data_mov"(%1) {dfg_id = 28 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %8 = "neura.icmp"(%7) <{cmpType = "sgt"}> {dfg_id = 34 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = "neura.data_mov"(%5) {dfg_id = 32 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %10 = "neura.icmp"(%9) <{cmpType = "sgt"}> {dfg_id = 36 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 0 : i32, y = 2 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = "neura.data_mov"(%8) {dfg_id = 37 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = "neura.data_mov"(%10) {dfg_id = 39 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %13 = "neura.and"(%11, %12) {dfg_id = 40 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%3) {dfg_id = 30 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.icmp"(%14) <{cmpType = "sgt"}> {dfg_id = 35 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 1 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %16 = "neura.data_mov"(%13) {dfg_id = 41 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %17 = "neura.data_mov"(%15) {dfg_id = 38 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.and"(%16, %17) {dfg_id = 42 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %19 = "neura.data_mov"(%18) {dfg_id = 44 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = "neura.grant_once"(%19) {dfg_id = 46 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %21 = "neura.data_mov"(%18) {dfg_id = 43 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 2 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 2 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 2 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %22 = "neura.not"(%21) {dfg_id = 45 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = "neura.data_mov"(%22) {dfg_id = 47 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %24 = "neura.grant_once"(%23) {dfg_id = 53 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %25 = "neura.data_mov"(%0) {dfg_id = 27 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %26 = "neura.data_mov"(%20) {dfg_id = 52 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %27 = neura.grant_predicate %25, %26 {dfg_id = 58 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%4) {dfg_id = 31 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = "neura.data_mov"(%20) {dfg_id = 51 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 24 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 28 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 57 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%2) {dfg_id = 29 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %32 = "neura.data_mov"(%20) {dfg_id = 50 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 56 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %34 = "neura.data_mov"(%6) {dfg_id = 33 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %35 = "neura.data_mov"(%20) {dfg_id = 49 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %36 = neura.grant_predicate %34, %35 {dfg_id = 55 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %37 = "neura.data_mov"(%20) {dfg_id = 48 : i32, mapping_locs = [{id = 4002 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 12 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 8000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 8000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 8000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 8000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 8000 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 8000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 8000 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 8000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 8000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 8000 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %38 = "neura.not"(%37) {dfg_id = 54 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %39 = "neura.data_mov"(%24) {dfg_id = 59 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %40 = "neura.data_mov"(%38) {dfg_id = 60 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %41 = neura.grant_predicate %39, %40 {dfg_id = 66 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %42 = "neura.data_mov"(%27) {dfg_id = 65 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %43 = neura.zext %42 {dfg_id = 71 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %44 = "neura.data_mov"(%30) {dfg_id = 64 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %45 = neura.zext %44 {dfg_id = 70 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %46 = "neura.data_mov"(%33) {dfg_id = 63 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %47 = neura.zext %46 {dfg_id = 69 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %48 = neura.reserve {dfg_id = 7 : i32} : !neura.data +// MAPPING-NEXT: %49 = "neura.data_mov"(%43) {dfg_id = 78 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %50 = neura.phi_start %49, %48 {dfg_id = 84 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %51 = neura.reserve {dfg_id = 8 : i32} : !neura.data +// MAPPING-NEXT: %52 = "neura.data_mov"(%45) {dfg_id = 77 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %53 = neura.phi_start %52, %51 {dfg_id = 83 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %54 = neura.reserve {dfg_id = 9 : i32} : !neura.data +// MAPPING-NEXT: %55 = "neura.data_mov"(%47) {dfg_id = 76 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %56 = neura.phi_start %55, %54 {dfg_id = 82 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %57 = neura.reserve {dfg_id = 10 : i32} : !neura.data +// MAPPING-NEXT: %58 = "neura.data_mov"(%36) {dfg_id = 62 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %59 = neura.phi_start %58, %57 {dfg_id = 68 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %60 = neura.reserve {dfg_id = 11 : i32} : !neura.data +// MAPPING-NEXT: %61 = "neura.data_mov"(%36) {dfg_id = 61 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %62 = neura.phi_start %61, %60 {dfg_id = 67 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %63 = neura.reserve {dfg_id = 12 : i32} : !neura.data +// MAPPING-NEXT: %64 = "neura.data_mov"(%50) {dfg_id = 93 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %65 = neura.phi_start %64, %63 {dfg_id = 101 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %66 = neura.reserve {dfg_id = 13 : i32} : !neura.data +// MAPPING-NEXT: %67 = "neura.data_mov"(%53) {dfg_id = 92 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %68 = neura.phi_start %67, %66 {dfg_id = 100 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %69 = neura.reserve {dfg_id = 14 : i32} : !neura.data +// MAPPING-NEXT: %70 = "neura.data_mov"(%56) {dfg_id = 91 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %71 = neura.phi_start %70, %69 {dfg_id = 99 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %72 = neura.reserve {dfg_id = 15 : i32} : !neura.data +// MAPPING-NEXT: %73 = "neura.data_mov"(%59) {dfg_id = 75 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %74 = neura.phi_start %73, %72 {dfg_id = 81 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %75 = neura.reserve {dfg_id = 16 : i32} : !neura.data +// MAPPING-NEXT: %76 = "neura.data_mov"(%62) {dfg_id = 73 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %77 = neura.phi_start %76, %75 {dfg_id = 79 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %78 = neura.reserve {dfg_id = 17 : i32} : !neura.data +// MAPPING-NEXT: %79 = "neura.data_mov"(%59) {dfg_id = 74 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 4000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 4000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %80 = neura.phi_start %79, %78 {dfg_id = 80 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %81 = "neura.data_mov"(%77) {dfg_id = 86 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 13 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 4002 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 4002 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %82 = "neura.data_mov"(%80) {dfg_id = 88 : i32, mapping_locs = [{id = 4003 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 4003 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 4003 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 4003 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 4003 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 4003 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %83 = "neura.gep"(%81, %82) <{operandSegmentSizes = array}> {dfg_id = 96 : i32, lhs_value = "%arg4", mapping_locs = [{id = 4 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %84 = neura.reserve {dfg_id = 18 : i32} : !neura.data +// MAPPING-NEXT: %85 = "neura.data_mov"(%74) {dfg_id = 90 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 194 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 194 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 194 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 194 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 194 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 194 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 194 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 194 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %86 = neura.phi_start %85, %84 {dfg_id = 98 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %87 = neura.reserve {dfg_id = 19 : i32} : !neura.data +// MAPPING-NEXT: %88 = "neura.data_mov"(%65) {dfg_id = 116 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %89 = neura.phi_start %88, %87 {dfg_id = 123 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %90 = neura.reserve {dfg_id = 20 : i32} : !neura.data +// MAPPING-NEXT: %91 = "neura.data_mov"(%68) {dfg_id = 115 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %92 = neura.phi_start %91, %90 {dfg_id = 122 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %93 = neura.reserve {dfg_id = 21 : i32} : !neura.data +// MAPPING-NEXT: %94 = "neura.data_mov"(%71) {dfg_id = 114 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %95 = neura.phi_start %94, %93 {dfg_id = 121 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %96 = neura.reserve {dfg_id = 22 : i32} : !neura.data +// MAPPING-NEXT: %97 = "neura.data_mov"(%77) {dfg_id = 85 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %98 = neura.phi_start %97, %96 {dfg_id = 94 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %99 = neura.reserve {dfg_id = 23 : i32} : !neura.data +// MAPPING-NEXT: %100 = "neura.data_mov"(%80) {dfg_id = 87 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %101 = neura.phi_start %100, %99 {dfg_id = 95 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %102 = neura.reserve {dfg_id = 24 : i32} : !neura.data +// MAPPING-NEXT: %103 = "neura.data_mov"(%83) {dfg_id = 108 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %104 = neura.phi_start %103, %102 {dfg_id = 117 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %105 = neura.reserve {dfg_id = 25 : i32} : !neura.data +// MAPPING-NEXT: %106 = "neura.data_mov"(%74) {dfg_id = 89 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %107 = neura.phi_start %106, %105 {dfg_id = 97 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %108 = "neura.data_mov"(%104) {dfg_id = 125 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %109 = "neura.load"(%108) {dfg_id = 138 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %110 = "neura.data_mov"(%101) {dfg_id = 107 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 1000 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 1000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 1000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 1000 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %111 = "neura.data_mov"(%107) {dfg_id = 111 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 1001 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 1001 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 1001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 1001 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 1001 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 1001 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 1001 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %112 = "neura.gep"(%110, %111) <{operandSegmentSizes = array}> {dfg_id = 120 : i32, lhs_value = "%arg5", mapping_locs = [{id = 1 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %113 = "neura.data_mov"(%112) {dfg_id = 130 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %114 = "neura.load"(%113) {dfg_id = 140 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %115 = "neura.data_mov"(%98) {dfg_id = 104 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 195 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 195 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 195 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 195 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %116 = "neura.data_mov"(%107) {dfg_id = 110 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 196 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}, {id = 196 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 196 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 196 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 196 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 196 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 196 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 196 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %117 = "neura.gep"(%115, %116) <{operandSegmentSizes = array}> {dfg_id = 119 : i32, lhs_value = "%arg3", mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %118 = "neura.data_mov"(%117) {dfg_id = 129 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %119 = "neura.load"(%118) {dfg_id = 139 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %120 = "neura.data_mov"(%109) {dfg_id = 142 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 1000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %121 = "neura.data_mov"(%114) {dfg_id = 144 : i32, mapping_locs = [{id = 1001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 1001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %122 = "neura.data_mov"(%119) {dfg_id = 143 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %123 = "neura.fmul_fadd"(%120, %121, %122) {dfg_id = 152 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %124 = "neura.data_mov"(%123) {dfg_id = 160 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %125 = "neura.data_mov"(%117) {dfg_id = 128 : i32, mapping_locs = [{id = 196 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 19 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 2000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%124, %125) {dfg_id = 181 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %126 = "neura.data_mov"(%107) {dfg_id = 109 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %127 = "neura.add"(%126) {dfg_id = 118 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %128 = "neura.data_mov"(%127) {dfg_id = 127 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %129 = "neura.data_mov"(%95) {dfg_id = 133 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %130 = "neura.icmp"(%128, %129) <{cmpType = "eq"}> {dfg_id = 141 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %131 = "neura.data_mov"(%130) {dfg_id = 151 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %132 = "neura.not"(%131) {dfg_id = 159 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %133 = "neura.data_mov"(%127) {dfg_id = 126 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 162 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 162 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 162 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 162 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %134 = "neura.data_mov"(%132) {dfg_id = 180 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 163 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 163 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %135 = neura.grant_predicate %133, %134 {dfg_id = 190 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %135 -> %105 {dfg_id = 200 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 161 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 161 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 161 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 161 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 161 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 161 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 161 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 161 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 161 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 161 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %136 = "neura.data_mov"(%104) {dfg_id = 124 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 165 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 165 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 165 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 165 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %137 = "neura.data_mov"(%132) {dfg_id = 179 : i32, mapping_locs = [{id = 167 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 11 : i32}, {id = 167 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 12 : i32}, {id = 167 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 13 : i32}, {id = 167 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 14 : i32}, {id = 167 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 15 : i32}, {id = 167 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 167 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}, {id = 167 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 18 : i32}, {id = 167 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 19 : i32}, {id = 167 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %138 = neura.grant_predicate %136, %137 {dfg_id = 189 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %138 -> %102 {dfg_id = 199 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 4006 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}, {id = 4006 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}, {id = 4006 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 4006 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 4006 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 4006 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 4006 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 4006 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}, {id = 4006 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 30 : i32}, {id = 4006 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 31 : i32}, {id = 4006 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %139 = "neura.data_mov"(%101) {dfg_id = 106 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 8002 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 8002 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 8002 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 8002 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 8002 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 8002 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 8002 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 8002 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 8002 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %140 = "neura.data_mov"(%132) {dfg_id = 178 : i32, mapping_locs = [{id = 166 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 11 : i32}, {id = 15 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 2 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 1 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 12 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 8001 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 8001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 8001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 8001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %141 = neura.grant_predicate %139, %140 {dfg_id = 188 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %141 -> %99 {dfg_id = 198 : i32, mapping_locs = [{id = 25 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 4005 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 4005 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 4005 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 4005 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 4005 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 4005 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %142 = "neura.data_mov"(%98) {dfg_id = 103 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 2000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 2000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 2000 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 2000 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 2000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 2000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %143 = "neura.data_mov"(%132) {dfg_id = 177 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 3 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 2001 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 2001 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 2001 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 2001 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 2001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 2001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %144 = neura.grant_predicate %142, %143 {dfg_id = 187 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %144 -> %96 {dfg_id = 197 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 198 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}, {id = 198 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 198 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}, {id = 198 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 23 : i32}, {id = 198 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 198 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 198 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 198 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 198 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %145 = "neura.data_mov"(%95) {dfg_id = 132 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 289 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 289 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %146 = "neura.data_mov"(%132) {dfg_id = 176 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %147 = neura.grant_predicate %145, %146 {dfg_id = 186 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %147 -> %93 {dfg_id = 196 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 289 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 289 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 289 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 289 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 289 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 289 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 289 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 289 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 289 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 289 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %148 = "neura.data_mov"(%92) {dfg_id = 135 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 322 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 322 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 322 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 322 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 322 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 322 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 322 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 322 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %149 = "neura.data_mov"(%132) {dfg_id = 175 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 11 : i32}, {id = 16 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 28 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 323 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 323 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 323 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 323 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 323 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 323 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %150 = neura.grant_predicate %148, %149 {dfg_id = 185 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %150 -> %90 {dfg_id = 195 : i32, mapping_locs = [{id = 323 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 323 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 323 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 323 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 323 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 323 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 323 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 323 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %151 = "neura.data_mov"(%89) {dfg_id = 137 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 1 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 1 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 1 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %152 = "neura.data_mov"(%132) {dfg_id = 174 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 11 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 3 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 3 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 3 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 3 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %153 = neura.grant_predicate %151, %152 {dfg_id = 184 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %153 -> %87 {dfg_id = 194 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 4004 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 4004 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 4004 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 4004 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 4004 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 4004 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 4004 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 4004 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}, {id = 4004 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 28 : i32}, {id = 4004 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 29 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %154 = "neura.data_mov"(%86) {dfg_id = 113 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 224 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 224 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %155 = "neura.data_mov"(%132) {dfg_id = 173 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 14 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 18 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 225 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 225 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 225 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 225 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 225 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %156 = neura.grant_predicate %154, %155 {dfg_id = 183 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %156 -> %84 {dfg_id = 193 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 197 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 197 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 197 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 197 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 197 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 197 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 197 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 197 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 197 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 197 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 197 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 197 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}, {id = 197 : i32, index_per_ii = 15 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %157 = "neura.data_mov"(%101) {dfg_id = 105 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 160 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %158 = "neura.data_mov"(%130) {dfg_id = 150 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %159 = neura.grant_predicate %157, %158 {dfg_id = 158 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %160 = "neura.data_mov"(%92) {dfg_id = 134 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %161 = "neura.data_mov"(%130) {dfg_id = 149 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 20 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %162 = neura.grant_predicate %160, %161 {dfg_id = 157 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %163 = "neura.data_mov"(%98) {dfg_id = 102 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %164 = "neura.data_mov"(%130) {dfg_id = 148 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 14 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 193 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %165 = neura.grant_predicate %163, %164 {dfg_id = 156 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %166 = "neura.data_mov"(%89) {dfg_id = 136 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %167 = "neura.data_mov"(%130) {dfg_id = 147 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 4001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 4001 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 4001 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %168 = neura.grant_predicate %166, %167 {dfg_id = 155 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %169 = "neura.data_mov"(%86) {dfg_id = 112 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %170 = "neura.data_mov"(%130) {dfg_id = 146 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 7 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 193 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 193 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 193 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 193 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %171 = neura.grant_predicate %169, %170 {dfg_id = 154 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %172 = "neura.data_mov"(%95) {dfg_id = 131 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 288 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %173 = "neura.data_mov"(%130) {dfg_id = 145 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %174 = neura.grant_predicate %172, %173 {dfg_id = 153 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %175 = "neura.data_mov"(%159) {dfg_id = 172 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %176 = "neura.add"(%175) {dfg_id = 182 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %177 = "neura.data_mov"(%176) {dfg_id = 192 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %178 = "neura.data_mov"(%162) {dfg_id = 171 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 288 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %179 = "neura.icmp"(%177, %178) <{cmpType = "eq"}> {dfg_id = 201 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %180 = "neura.data_mov"(%179) {dfg_id = 207 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %181 = "neura.not"(%180) {dfg_id = 213 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %182 = "neura.data_mov"(%176) {dfg_id = 191 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 164 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 164 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 164 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %183 = "neura.data_mov"(%181) {dfg_id = 225 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 160 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %184 = neura.grant_predicate %182, %183 {dfg_id = 232 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %184 -> %78 {dfg_id = 240 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 4001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 4001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 4001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 4001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 4001 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 4001 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 4001 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 4001 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %185 = "neura.data_mov"(%165) {dfg_id = 168 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 324 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 324 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 324 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 324 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 324 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 324 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 324 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %186 = "neura.data_mov"(%181) {dfg_id = 224 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 41 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 45 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 325 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 325 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 325 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %187 = neura.grant_predicate %185, %186 {dfg_id = 231 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %187 -> %75 {dfg_id = 239 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 195 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 195 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 195 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}, {id = 195 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 25 : i32}, {id = 195 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 26 : i32}, {id = 195 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %188 = "neura.data_mov"(%171) {dfg_id = 164 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %189 = "neura.data_mov"(%181) {dfg_id = 223 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 28 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %190 = neura.grant_predicate %188, %189 {dfg_id = 230 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %190 -> %72 {dfg_id = 238 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 29 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %191 = "neura.data_mov"(%174) {dfg_id = 162 : i32, mapping_locs = [{id = 292 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 292 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 292 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 292 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 292 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 292 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 292 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 292 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %192 = "neura.data_mov"(%181) {dfg_id = 222 : i32, mapping_locs = [{id = 293 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 293 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 293 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 293 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %193 = neura.grant_predicate %191, %192 {dfg_id = 229 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %193 -> %69 {dfg_id = 237 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 290 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 290 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %194 = "neura.data_mov"(%162) {dfg_id = 170 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 321 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 321 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 321 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %195 = "neura.data_mov"(%181) {dfg_id = 221 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %196 = neura.grant_predicate %194, %195 {dfg_id = 228 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %196 -> %66 {dfg_id = 236 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 321 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 321 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 321 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 321 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 321 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 321 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 321 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %197 = "neura.data_mov"(%168) {dfg_id = 166 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 16 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 295 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 16 : i32}, {id = 295 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 17 : i32}, {id = 295 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 18 : i32}, {id = 295 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 19 : i32}, {id = 295 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 20 : i32}, {id = 295 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %198 = "neura.data_mov"(%181) {dfg_id = 220 : i32, mapping_locs = [{id = 296 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 15 : i32}, {id = 296 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 16 : i32}, {id = 296 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 17 : i32}, {id = 296 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 18 : i32}, {id = 296 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 19 : i32}, {id = 296 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 20 : i32}, {id = 296 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 8 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %199 = neura.grant_predicate %197, %198 {dfg_id = 227 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %199 -> %63 {dfg_id = 235 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 25 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}, {id = 4007 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 24 : i32}, {id = 4007 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 25 : i32}, {id = 4007 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 26 : i32}, {id = 4007 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 27 : i32}, {id = 4007 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 7 : i32, resource = "register", time_step = 28 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %200 = "neura.data_mov"(%165) {dfg_id = 167 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 160 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %201 = "neura.data_mov"(%179) {dfg_id = 206 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %202 = neura.grant_predicate %200, %201 {dfg_id = 212 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %203 = "neura.data_mov"(%168) {dfg_id = 165 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %204 = "neura.data_mov"(%179) {dfg_id = 205 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %205 = neura.grant_predicate %203, %204 {dfg_id = 211 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %206 = "neura.data_mov"(%171) {dfg_id = 163 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %207 = "neura.data_mov"(%179) {dfg_id = 204 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 41 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 45 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 33 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %208 = neura.grant_predicate %206, %207 {dfg_id = 210 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %209 = "neura.data_mov"(%174) {dfg_id = 161 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 290 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 290 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 290 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 290 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %210 = "neura.data_mov"(%179) {dfg_id = 203 : i32, mapping_locs = [{id = 291 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 291 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %211 = neura.grant_predicate %209, %210 {dfg_id = 209 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %212 = "neura.data_mov"(%162) {dfg_id = 169 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 320 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 320 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %213 = "neura.data_mov"(%179) {dfg_id = 202 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %214 = neura.grant_predicate %212, %213 {dfg_id = 208 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %215 = "neura.data_mov"(%202) {dfg_id = 219 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %216 = "neura.add"(%215) {dfg_id = 226 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %217 = "neura.data_mov"(%216) {dfg_id = 234 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 162 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %218 = "neura.data_mov"(%205) {dfg_id = 218 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 29 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %219 = "neura.icmp"(%217, %218) <{cmpType = "eq"}> {dfg_id = 241 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %220 = "neura.data_mov"(%219) {dfg_id = 244 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %221 = "neura.not"(%220) {dfg_id = 246 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %222 = "neura.data_mov"(%216) {dfg_id = 233 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 195 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 195 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 195 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 195 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 195 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %223 = "neura.data_mov"(%221) {dfg_id = 252 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %224 = neura.grant_predicate %222, %223 {dfg_id = 258 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %224 -> %60 {dfg_id = 264 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 193 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}, {id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 25 : i32}, {id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %225 = "neura.data_mov"(%208) {dfg_id = 216 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %226 = "neura.data_mov"(%221) {dfg_id = 251 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %227 = neura.grant_predicate %225, %226 {dfg_id = 257 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %227 -> %57 {dfg_id = 263 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %228 = "neura.data_mov"(%211) {dfg_id = 215 : i32, mapping_locs = [{id = 294 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 294 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 17 : i32}, {id = 294 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}, {id = 294 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 19 : i32}, {id = 294 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %229 = "neura.data_mov"(%221) {dfg_id = 250 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 16 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %230 = neura.grant_predicate %228, %229 {dfg_id = 256 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %230 -> %54 {dfg_id = 262 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 288 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}, {id = 288 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %231 = "neura.data_mov"(%214) {dfg_id = 214 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 15 : i32}, {id = 194 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 194 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 194 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 194 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %232 = "neura.data_mov"(%221) {dfg_id = 249 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %233 = neura.grant_predicate %231, %232 {dfg_id = 255 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %233 -> %51 {dfg_id = 261 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 322 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 322 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 322 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 322 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}, {id = 322 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 25 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %234 = "neura.data_mov"(%205) {dfg_id = 217 : i32, mapping_locs = [{id = 8001 : i32, index_per_ii = 15 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 24 : i32, index_per_ii = 16 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 16 : i32}, {id = 291 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 291 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 291 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %235 = "neura.data_mov"(%221) {dfg_id = 248 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %236 = neura.grant_predicate %234, %235 {dfg_id = 254 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %236 -> %48 {dfg_id = 260 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 25 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 4002 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 4002 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 4002 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}, {id = 4002 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 25 : i32}, {id = 4002 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 26 : i32}, {id = 4002 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 27 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %237 = "neura.data_mov"(%219) {dfg_id = 242 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 162 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %238 = "neura.data_mov"(%219) {dfg_id = 243 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 163 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %239 = neura.grant_predicate %237, %238 {dfg_id = 245 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %240 = "neura.data_mov"(%41) {dfg_id = 72 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 15 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 1000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 1000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %241 = "neura.data_mov"(%239) {dfg_id = 247 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %242 = "neura.phi"(%240, %241) {dfg_id = 253 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %243 = "neura.data_mov"(%242) {dfg_id = 259 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_void %243 : !neura.data {dfg_id = 265 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 0 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 26 : i32} +// MAPPING-NEXT: } + + +// YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 17 @@ -302,59 +303,2414 @@ // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: -// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 138 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 184 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 6 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 43 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 251 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 52 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 257 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 58 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 71 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1070001 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 174 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1780002 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 137 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 45 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 53 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 140 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 142 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "FMUL_FADD" +// YAML-NEXT: id: 152 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 72 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2510001 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI" +// YAML-NEXT: id: 253 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2160002 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VOID" +// YAML-NEXT: id: 265 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 111 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1460001 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 107 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1770001 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1780001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 120 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 139 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 187 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 128 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 181 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2160001 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1460002 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 103 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 177 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "4" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 66 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 3 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 240 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SGT" +// YAML-NEXT: id: 35 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "AND" +// YAML-NEXT: id: 42 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 194 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 46 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 198 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 55 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 480000 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 199 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 260 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 68 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 235 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 80 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 95 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 84 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 147 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 101 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1740001 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 123 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 86 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 155 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 96 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1780003 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 117 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 232 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 124 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 218 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 241 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 720001 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 246 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 245 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2520000 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2500000 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 189 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 238 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 56 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 69 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 610001 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 81 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 97 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 118 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 141 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 159 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 105 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1480000 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 158 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 860001 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1780000 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1750000 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1730000 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 182 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 190 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 167 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 212 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1660001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 226 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 225 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 119 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 233 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 154 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1280000 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 204 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 210 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 255 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 197 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 193 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 2 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 252 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 258 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 239 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 61 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 90 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 110 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 67 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 79 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1490001 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 94 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 148 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 156 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1730001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 146 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 98 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 214 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 113 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 183 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 173 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 5 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SGT" +// YAML-NEXT: id: 36 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "AND" +// YAML-NEXT: id: 40 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 188 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 2600001 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 510001 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 48 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 2350001 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 106 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 211 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 54 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 178 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2170000 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 1 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 217 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SGT" +// YAML-NEXT: id: 34 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 229 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 254 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 2380001 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 256 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 227 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 510002 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 82 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 99 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 121 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 153 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 186 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1750001 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 171 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 201 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 213 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$8" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 209 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2230000 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 166 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$7" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2180001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 223 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2040003 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 224 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 230 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 185 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 231 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 261 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 4 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 57 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 70 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 83 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 100 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 122 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 157 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 175 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 168 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 15 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 208 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 16 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 228 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "13" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 15 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "LOAD" -// YAML-NEXT: id: 138 -// YAML-NEXT: time_step: 17 -// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2040001 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "SOUTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: - index_per_ii: 16 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "GRANT_PREDICATE" -// YAML-NEXT: id: 184 -// YAML-NEXT: time_step: 19 -// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2240001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "$1" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "$3" +// YAML-NEXT: - operand: "SOUTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "14" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "CTRL_MOV" -// YAML-NEXT: id: 1980001 -// YAML-NEXT: time_step: 20 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2240002 +// YAML-NEXT: time_step: 17 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "SOUTH" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: - index_per_ii: 16 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "GRANT_ONCE" -// YAML-NEXT: id: 6 -// YAML-NEXT: time_step: 4 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2040002 +// YAML-NEXT: time_step: 16 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "#0" +// YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "SOUTH" // YAML-NEXT: color: "RED" -// YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 43 -// + + // ASM: # Compiled II: 17 // ASM: PE(0,0): // ASM-NEXT: { @@ -364,14 +2720,13 @@ // ASM-NEXT: GRANT_PREDICATE, [$1], [$3] -> [NORTH, RED] (t=19, inv_iters=1) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { -// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [NORTH, RED] (t=20, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=3) -// ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [#0] -> [NORTH, RED] (t=4, inv_iters=0) // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$2] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=21, inv_iters=1) // ASM-NEXT: } (idx_per_ii=4) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=5, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [NORTH, RED] (t=22, inv_iters=1) // ASM-NEXT: } (idx_per_ii=5) // ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [arg0] -> [$0] (t=8, inv_iters=0) @@ -389,6 +2744,7 @@ // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$3] (t=13, inv_iters=0) // ASM-NEXT: } (idx_per_ii=13) // ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=14, inv_iters=0) // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=14, inv_iters=0) // ASM-NEXT: } (idx_per_ii=14) // ASM-NEXT: { @@ -396,4 +2752,406 @@ // ASM-NEXT: } (idx_per_ii=15) // ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [$0] -> [NORTH, RED] (t=16, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=16) \ No newline at end of file +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(1,0): +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$1] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: FMUL_FADD, [$0], [$1], [EAST, RED] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: PHI, [$0], [NORTH, RED] -> [$0] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: RETURN_VOID, [$0] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [WEST, RED] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0], [$1] -> [$0] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(2,0): +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [WEST, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: STORE, [WEST, RED], [$0] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [NORTH, RED] -> [EAST, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [arg1] -> [$0] (t=1, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$1] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: ICMP_SGT, [$0], [#0] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: AND, [NORTH, RED], [$0] -> [$0], [SOUTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [SOUTH, RED] -> [$4] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [$0] -> [SOUTH, RED], [NORTH, RED], [EAST, RED], [$0], [$2] (t=4, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$5] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$0] -> [$0], [EAST, RED] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$2] -> [NORTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$6] (t=22, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$2] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [SOUTH, RED] -> [EAST, RED], [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$7] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [$3], [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$5] -> [SOUTH, RED], [NORTH, RED], [EAST, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$2] -> [$0] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$7] -> [$0] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$4] -> [SOUTH, RED], [$0] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [EAST, RED], [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$2], [$3] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$6] -> [SOUTH, RED], [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(1,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$4], [$0] -> [WEST, RED] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$5] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$2], [$0] -> [$0], [$2], [$3] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$4], [SOUTH, RED], [$0], [EAST, RED], [NORTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [SOUTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$4] -> [EAST, RED] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$5], [$7] -> [WEST, RED] (t=21, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$2] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [WEST, RED] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: ZEXT, [$0] -> [NORTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [WEST, RED], [$2] -> [EAST, RED], [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [SOUTH, RED], [EAST, RED], [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$0], [$2] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [NORTH, RED] -> [$0], [$1], [EAST, RED], [$3], [WEST, RED], [SOUTH, RED], [NORTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$3], [$7], [$6], [SOUTH, RED], [NORTH, RED], [$5], [WEST, RED], [$4] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$3] -> [EAST, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [$0] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$6] -> [SOUTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$5] -> [NORTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$4] -> [EAST, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [NORTH, RED], [$4] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [$1] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [$0] (t=15, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$2], [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$3], [$4] -> [SOUTH, RED], [$4] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$3] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED], [$0] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$4] -> [SOUTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [SOUTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [WEST, RED] -> [NORTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [SOUTH, RED] -> [$6] (t=20, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$5] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [arg1] -> [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$3], [$0] -> [$1] (t=22, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$3] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$2] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$4] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$3] -> [WEST, RED], [$0] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$6] -> [$3], [SOUTH, RED], [$0] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED], [WEST, RED] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$2], [$5] -> [EAST, RED], [$0] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$2] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [WEST, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [arg2] -> [$0] (t=0, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: ICMP_SGT, [$0], [#0] -> [$0] (t=1, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: AND, [EAST, RED], [$0] -> [SOUTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$1] -> [SOUTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [SOUTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [SOUTH, RED] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$2] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [EAST, RED] -> [EAST, RED], [$1] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [SOUTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(1,2): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [arg0] -> [$0] (t=0, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$3] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: ICMP_SGT, [$0], [#0] -> [WEST, RED] (t=1, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$4], [$5] -> [$2] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$3], [SOUTH, RED] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [SOUTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$6], [SOUTH, RED] -> [$0] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$7], [$8] -> [WEST, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$0] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [SOUTH, RED], [$1], [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [$4], [$2] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [SOUTH, RED] -> [$1] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [SOUTH, RED], [$0] -> [$0], [SOUTH, RED], [WEST, RED], [NORTH, RED], [$3], [EAST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [SOUTH, RED], [NORTH, RED], [$0], [$5], [EAST, RED], [$8] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [$6] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$7] (t=16, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(2,2): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$5] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [SOUTH, RED], [$0] -> [WEST, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [$3] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$4], [$5] -> [SOUTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [SOUTH, RED] -> [$2] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [arg2] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: ZEXT, [$0] -> [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$3] -> [$2], [$0] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [WEST, RED], [$1], [$0] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$3] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$4] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [SOUTH, RED] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [WEST, RED] -> [$1] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(1,3): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=15, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=15) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) +// ASM: PE(2,3): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=16, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=16) + + diff --git a/test/e2e/gemv/gemv_kernel.mlir b/test/e2e/gemv/gemv_kernel.mlir index 1994f283..3ec74c39 100644 --- a/test/e2e/gemv/gemv_kernel.mlir +++ b/test/e2e/gemv/gemv_kernel.mlir @@ -29,7 +29,7 @@ // MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 14 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %4 = neura.phi_start %3, %2 {dfg_id = 17 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data -// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 12 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}, {id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %6 = "neura.data_mov"(%0) {dfg_id = 12 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}, {id = 1000 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %7 = neura.phi_start %6, %5 {dfg_id = 15 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %8 = neura.reserve {dfg_id = 4 : i32} : !neura.data // MAPPING-NEXT: %9 = "neura.data_mov"(%0) {dfg_id = 13 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data @@ -42,10 +42,10 @@ // MAPPING-NEXT: %16 = "neura.data_mov"(%4) {dfg_id = 23 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 321 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %17 = neura.phi_start %16, %15 {dfg_id = 29 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %18 = neura.reserve {dfg_id = 6 : i32} : !neura.data -// MAPPING-NEXT: %19 = "neura.data_mov"(%7) {dfg_id = 19 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 32 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 32 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 32 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 32 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 32 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = neura.phi_start %19, %18 {dfg_id = 25 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %19 = "neura.data_mov"(%7) {dfg_id = 19 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 163 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 4 : i32}, {id = 163 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 163 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 163 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = neura.phi_start %19, %18 {dfg_id = 25 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %21 = neura.reserve {dfg_id = 7 : i32} : !neura.data -// MAPPING-NEXT: %22 = "neura.data_mov"(%10) {dfg_id = 20 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 128 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 128 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 128 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %22 = "neura.data_mov"(%10) {dfg_id = 20 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 4000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 4000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %23 = neura.phi_start %22, %21 {dfg_id = 26 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %24 = neura.reserve {dfg_id = 8 : i32} : !neura.data // MAPPING-NEXT: %25 = "neura.data_mov"(%14) {dfg_id = 47 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data @@ -59,17 +59,17 @@ // MAPPING-NEXT: %33 = "neura.data_mov"(%26) {dfg_id = 58 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %34 = "neura.data_mov"(%32) {dfg_id = 32 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 161 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}, {id = 161 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %35 = "neura.gep"(%33, %34) <{operandSegmentSizes = array}> {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %36 = "neura.data_mov"(%35) {dfg_id = 74 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %37 = "neura.load"(%36) {dfg_id = 82 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %36 = "neura.data_mov"(%35) {dfg_id = 74 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %37 = "neura.load"(%36) {dfg_id = 82 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %38 = "neura.data_mov"(%32) {dfg_id = 31 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %39 = "neura.gep"(%38) <{operandSegmentSizes = array}> {dfg_id = 42 : i32, lhs_value = "%arg1", mapping_locs = [{id = 6 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %40 = "neura.data_mov"(%39) {dfg_id = 46 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %41 = "neura.load"(%40) {dfg_id = 49 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %42 = "neura.data_mov"(%41) {dfg_id = 56 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %43 = "neura.data_mov"(%37) {dfg_id = 91 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %44 = "neura.mul"(%42, %43) {dfg_id = 93 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %45 = "neura.data_mov"(%44) {dfg_id = 97 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %46 = "neura.data_mov"(%29) {dfg_id = 38 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %40 = "neura.data_mov"(%39) {dfg_id = 46 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %41 = "neura.load"(%40) {dfg_id = 49 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %42 = "neura.data_mov"(%41) {dfg_id = 56 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 2000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %43 = "neura.data_mov"(%37) {dfg_id = 91 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %44 = "neura.mul"(%42, %43) {dfg_id = 93 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %45 = "neura.data_mov"(%44) {dfg_id = 97 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %46 = "neura.data_mov"(%29) {dfg_id = 38 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %47 = "neura.add"(%45, %46) {dfg_id = 100 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data // MAPPING-NEXT: %48 = "neura.data_mov"(%32) {dfg_id = 30 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %49 = "neura.add"(%48) {dfg_id = 41 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data @@ -77,39 +77,39 @@ // MAPPING-NEXT: %51 = "neura.icmp"(%50) <{cmpType = "eq"}> {dfg_id = 48 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data // MAPPING-NEXT: %52 = "neura.data_mov"(%51) {dfg_id = 55 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %53 = "neura.not"(%52) {dfg_id = 62 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %54 = "neura.data_mov"(%49) {dfg_id = 44 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 192 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 192 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %55 = "neura.data_mov"(%53) {dfg_id = 73 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %56 = neura.grant_predicate %54, %55 {dfg_id = 81 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %56 -> %30 {dfg_id = 90 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 160 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %57 = "neura.data_mov"(%47) {dfg_id = 106 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 193 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %54 = "neura.data_mov"(%49) {dfg_id = 44 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %55 = "neura.data_mov"(%53) {dfg_id = 73 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %56 = neura.grant_predicate %54, %55 {dfg_id = 81 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %56 -> %30 {dfg_id = 90 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 160 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %57 = "neura.data_mov"(%47) {dfg_id = 106 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 194 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %58 = "neura.data_mov"(%53) {dfg_id = 72 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 195 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 195 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 195 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 195 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %59 = neura.grant_predicate %57, %58 {dfg_id = 112 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %59 -> %27 {dfg_id = 117 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 11 : i32}, {id = 322 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 322 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 322 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 322 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 322 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %60 = "neura.data_mov"(%26) {dfg_id = 57 : i32, mapping_locs = [{id = 130 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 130 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 130 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 130 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 130 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 130 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %61 = "neura.data_mov"(%53) {dfg_id = 71 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %62 = neura.grant_predicate %60, %61 {dfg_id = 80 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %62 -> %24 {dfg_id = 89 : i32, mapping_locs = [{id = 130 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 130 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 130 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 130 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 130 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %63 = "neura.data_mov"(%23) {dfg_id = 36 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 161 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 161 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 161 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 161 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %64 = "neura.data_mov"(%53) {dfg_id = 70 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 21 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 17 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 162 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %65 = neura.grant_predicate %63, %64 {dfg_id = 79 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %65 -> %21 {dfg_id = 88 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 129 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 129 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 129 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 129 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 129 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %66 = "neura.data_mov"(%20) {dfg_id = 34 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 34 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %67 = "neura.data_mov"(%53) {dfg_id = 69 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 15 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 35 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 35 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %68 = neura.grant_predicate %66, %67 {dfg_id = 78 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %68 -> %18 {dfg_id = 87 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 34 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 34 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 34 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 34 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 34 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 34 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 34 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %60 = "neura.data_mov"(%26) {dfg_id = 57 : i32, mapping_locs = [{id = 4003 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 4 : i32}, {id = 4003 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 4003 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 4003 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 4003 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 4003 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 4003 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %61 = "neura.data_mov"(%53) {dfg_id = 71 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 4000 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %62 = neura.grant_predicate %60, %61 {dfg_id = 80 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %62 -> %24 {dfg_id = 89 : i32, mapping_locs = [{id = 4002 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 4002 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 4002 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 4002 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %63 = "neura.data_mov"(%23) {dfg_id = 36 : i32, mapping_locs = [{id = 4002 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 4002 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 4002 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 4002 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 4002 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %64 = "neura.data_mov"(%53) {dfg_id = 70 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 21 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 17 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 13 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %65 = neura.grant_predicate %63, %64 {dfg_id = 79 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %65 -> %21 {dfg_id = 88 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 4001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 4001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 4001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 4001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 4001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %66 = "neura.data_mov"(%20) {dfg_id = 34 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 162 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 162 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %67 = "neura.data_mov"(%53) {dfg_id = 69 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 17 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %68 = neura.grant_predicate %66, %67 {dfg_id = 78 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %68 -> %18 {dfg_id = 87 : i32, mapping_locs = [{id = 166 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 11 : i32}, {id = 166 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 12 : i32}, {id = 166 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 13 : i32}, {id = 166 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 14 : i32}, {id = 166 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 15 : i32}, {id = 166 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 166 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 17 : i32}, {id = 166 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}]} : !neura.data !neura.data // MAPPING-NEXT: %69 = "neura.data_mov"(%17) {dfg_id = 40 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 320 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %70 = "neura.data_mov"(%53) {dfg_id = 68 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 322 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 322 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 322 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %71 = neura.grant_predicate %69, %70 {dfg_id = 77 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %71 -> %15 {dfg_id = 86 : i32, mapping_locs = [{id = 323 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 323 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 323 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 323 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 323 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 323 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 323 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 323 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 323 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %72 = "neura.data_mov"(%23) {dfg_id = 35 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %72 = "neura.data_mov"(%23) {dfg_id = 35 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %73 = "neura.data_mov"(%51) {dfg_id = 54 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %74 = neura.grant_predicate %72, %73 {dfg_id = 61 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %75 = "neura.data_mov"(%47) {dfg_id = 105 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %76 = "neura.data_mov"(%51) {dfg_id = 53 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 194 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 194 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 194 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %76 = "neura.data_mov"(%51) {dfg_id = 53 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 5 : i32}, {id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 193 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 193 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %77 = neura.grant_predicate %75, %76 {dfg_id = 111 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %78 = "neura.data_mov"(%20) {dfg_id = 33 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %79 = "neura.data_mov"(%51) {dfg_id = 52 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 33 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 33 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 33 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %80 = neura.grant_predicate %78, %79 {dfg_id = 60 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %78 = "neura.data_mov"(%20) {dfg_id = 33 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 161 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %79 = "neura.data_mov"(%51) {dfg_id = 52 : i32, mapping_locs = [{id = 164 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 5 : i32}, {id = 164 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 6 : i32}, {id = 164 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 7 : i32}, {id = 164 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 8 : i32}, {id = 164 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %80 = neura.grant_predicate %78, %79 {dfg_id = 60 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %81 = "neura.data_mov"(%17) {dfg_id = 39 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %82 = "neura.data_mov"(%51) {dfg_id = 51 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %83 = neura.grant_predicate %81, %82 {dfg_id = 59 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data @@ -118,81 +118,1022 @@ // MAPPING-NEXT: %86 = "neura.data_mov"(%77) {dfg_id = 116 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %87 = "neura.data_mov"(%85) {dfg_id = 85 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 3 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: "neura.store"(%86, %87) {dfg_id = 118 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %88 = "neura.data_mov"(%74) {dfg_id = 66 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %88 = "neura.data_mov"(%74) {dfg_id = 66 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %89 = "neura.add"(%88) {dfg_id = 75 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %90 = "neura.data_mov"(%89) {dfg_id = 84 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %90 = "neura.data_mov"(%89) {dfg_id = 84 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %91 = "neura.icmp"(%90) <{cmpType = "eq"}> {dfg_id = 92 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 1 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data // MAPPING-NEXT: %92 = "neura.data_mov"(%91) {dfg_id = 96 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %93 = "neura.not"(%92) {dfg_id = 99 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %94 = "neura.data_mov"(%89) {dfg_id = 83 : i32, mapping_locs = [{id = 131 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 131 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 131 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 131 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %95 = "neura.data_mov"(%93) {dfg_id = 104 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 128 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %96 = neura.grant_predicate %94, %95 {dfg_id = 110 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %96 -> %8 {dfg_id = 115 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 11 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %97 = "neura.data_mov"(%80) {dfg_id = 65 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %98 = "neura.data_mov"(%93) {dfg_id = 103 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %99 = neura.grant_predicate %97, %98 {dfg_id = 109 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %99 -> %5 {dfg_id = 114 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 11 : i32}, {id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %94 = "neura.data_mov"(%89) {dfg_id = 83 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 1000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %95 = "neura.data_mov"(%93) {dfg_id = 104 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %96 = neura.grant_predicate %94, %95 {dfg_id = 110 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %96 -> %8 {dfg_id = 115 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %97 = "neura.data_mov"(%80) {dfg_id = 65 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %98 = "neura.data_mov"(%93) {dfg_id = 103 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 9 : i32}, {id = 165 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 10 : i32}, {id = 165 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %99 = neura.grant_predicate %97, %98 {dfg_id = 109 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %99 -> %5 {dfg_id = 114 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 12 : i32}]} : !neura.data !neura.data // MAPPING-NEXT: %100 = "neura.data_mov"(%83) {dfg_id = 64 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %101 = "neura.data_mov"(%93) {dfg_id = 102 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %102 = neura.grant_predicate %100, %101 {dfg_id = 108 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %102 -> %2 {dfg_id = 113 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 321 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 321 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 321 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 321 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 321 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %103 = "neura.data_mov"(%91) {dfg_id = 94 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %104 = "neura.data_mov"(%91) {dfg_id = 95 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %103 = "neura.data_mov"(%91) {dfg_id = 94 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %104 = "neura.data_mov"(%91) {dfg_id = 95 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %105 = neura.grant_predicate %103, %104 {dfg_id = 98 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %106 = "neura.data_mov"(%105) {dfg_id = 101 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: neura.return_void %106 : !neura.data {dfg_id = 107 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 2 : i32}]} // MAPPING-NEXT: neura.yield {dfg_id = 11 : i32} // MAPPING-NEXT: } -// MAPPING-NEXT: } -// + + // YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 11 // YAML-NEXT: cores: // YAML-NEXT: - column: 0 -// YAML-NEXT: row: 0 -// YAML-NEXT: core_id: "0" +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "0" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 115 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 16 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SHL" +// YAML-NEXT: id: 27 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 43 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 67 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 76 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 710003 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 12 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 15 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 190000 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 82 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 710002 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 83 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 110 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 850001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 118 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 49 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 710001 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 93 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "4" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 80 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 20 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 50 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 26 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 61 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 75 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 92 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 98 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 79 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 71 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 78 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 109 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 24 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 41 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 19 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 48 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 58 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 63 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 530000 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 81 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 25 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 69 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 830001 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 99 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 700003 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 60 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 112 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 31 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 42 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 62 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 690000 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 53 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 38 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 700002 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 100 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 111 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 700001 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "RETURN_VOID" +// YAML-NEXT: id: 107 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 51 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 59 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 108 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: // YAML-NEXT: - index_per_ii: 0 // YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 113 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 117 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: // YAML-NEXT: - opcode: "GRANT_ONCE" -// YAML-NEXT: id: 0 -// YAML-NEXT: time_step: 0 +// YAML-NEXT: id: 1 +// YAML-NEXT: time_step: 5 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "#0" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 17 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 // YAML-NEXT: operations: // YAML-NEXT: - opcode: "PHI_START" -// YAML-NEXT: id: 16 -// YAML-NEXT: time_step: 1 +// YAML-NEXT: id: 28 +// YAML-NEXT: time_step: 7 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 68 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 29 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "NORTH" -// +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 77 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" + + // ASM: # Compiled II: 11 // ASM: PE(0,0): // ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [#0] -> [EAST, RED], [$0] (t=0, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$1] (t=11, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [NORTH, RED] -> [$0], [NORTH, RED] (t=1, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [$1] -> [$0], [NORTH, RED] (t=1, inv_iters=0) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { // ASM-NEXT: SHL, [$0], [#4] -> [$0] (t=2, inv_iters=0) @@ -210,21 +1151,172 @@ // ASM: PE(1,0): // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=1, inv_iters=0) -// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$1] (t=12, inv_iters=1) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$1] -> [$0], [NORTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: PHI_START, [$0], [NORTH, RED] -> [$0], [NORTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=6, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [EAST, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) // ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$2] -> [$2], [$0] (t=8, inv_iters=0) // ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=8, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$3] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [WEST, RED] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(2,0): +// ASM-NEXT: { +// ASM-NEXT: STORE, [NORTH, RED], [WEST, RED] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [WEST, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [WEST, RED] -> [NORTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$3], [$0] -> [$2] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$2] -> [EAST, RED], [$3] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [$2], [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [SOUTH, RED], [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$0], [EAST, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [#4] -> [EAST, RED], [$0], [$1] (t=8, inv_iters=0) // ASM-NEXT: } (idx_per_ii=8) // ASM-NEXT: { // ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED] (t=9, inv_iters=0) // ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [EAST, RED] -> [$1] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(1,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [$6] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$5] -> [SOUTH, RED] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$0] -> [$1], [EAST, RED], [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$0], [$2] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$3] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [#4] -> [EAST, RED], [WEST, RED], [$5], [$4], [NORTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0], [$1] -> [SOUTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$5] -> [EAST, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [EAST, RED] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$3], [$6] -> [$2], [$1] (t=8, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$3] (t=8, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: NOT, [WEST, RED] -> [SOUTH, RED], [$5], [NORTH, RED] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$4] -> [$1] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [NORTH, RED] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [SOUTH, RED] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: NOT, [WEST, RED] -> [WEST, RED], [$3], [SOUTH, RED], [EAST, RED], [$0], [NORTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=8, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: ADD, [SOUTH, RED], [$0] -> [$2], [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [SOUTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [WEST, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: RETURN_VOID, [SOUTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(1,2): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [EAST, RED] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(2,2): +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [WEST, RED] -> [$1] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: CTRL_MOV, [SOUTH, RED] -> [$2] (t=12, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#0] -> [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$1] -> [$1], [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [SOUTH, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$2] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$1], [$3] -> [$0], [WEST, RED] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$2] -> [$3] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) diff --git a/test/e2e/histogram/histogram_kernel.mlir b/test/e2e/histogram/histogram_kernel.mlir index 9f2d6f23..11541b2a 100644 --- a/test/e2e/histogram/histogram_kernel.mlir +++ b/test/e2e/histogram/histogram_kernel.mlir @@ -32,25 +32,25 @@ // MAPPING-NEXT: %3 = neura.phi_start %2, %1 {dfg_id = 4 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: %4 = "neura.data_mov"(%3) {dfg_id = 6 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %5 = "neura.gep"(%4) <{operandSegmentSizes = array}> {dfg_id = 8 : i32, lhs_value = "%arg0", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %6 = "neura.data_mov"(%5) {dfg_id = 11 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %7 = "neura.load"(%6) {dfg_id = 13 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 17 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = "neura.mul"(%8) {dfg_id = 20 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 2 : i32}], rhs_value = 5 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %10 = "neura.data_mov"(%9) {dfg_id = 23 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %11 = "neura.add"(%10) {dfg_id = 26 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 1 : i32}], rhs_value = -5 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = "neura.data_mov"(%11) {dfg_id = 28 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %13 = "neura.div"(%12) {dfg_id = 29 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 3 : i32, y = 1 : i32}], rhs_value = 18 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%13) {dfg_id = 30 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = neura.sext %14 {dfg_id = 31 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %16 = "neura.data_mov"(%15) {dfg_id = 32 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %17 = "neura.gep"(%16) <{operandSegmentSizes = array}> {dfg_id = 33 : i32, lhs_value = "%arg1", mapping_locs = [{id = 7 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.data_mov"(%17) {dfg_id = 35 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %19 = "neura.load"(%18) {dfg_id = 36 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = "neura.data_mov"(%19) {dfg_id = 37 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %21 = "neura.add"(%20) {dfg_id = 38 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %22 = "neura.data_mov"(%21) {dfg_id = 39 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %23 = "neura.data_mov"(%17) {dfg_id = 34 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 21 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 9 : i32}, {id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%22, %23) {dfg_id = 40 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %6 = "neura.data_mov"(%5) {dfg_id = 11 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 22 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %7 = "neura.load"(%6) {dfg_id = 13 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %8 = "neura.data_mov"(%7) {dfg_id = 17 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = "neura.mul"(%8) {dfg_id = 20 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 0 : i32}], rhs_value = 5 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %10 = "neura.data_mov"(%9) {dfg_id = 23 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = "neura.add"(%10) {dfg_id = 26 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 3 : i32, y = 0 : i32}], rhs_value = -5 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = "neura.data_mov"(%11) {dfg_id = 28 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %13 = "neura.div"(%12) {dfg_id = 29 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 3 : i32, y = 0 : i32}], rhs_value = 18 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%13) {dfg_id = 30 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = neura.sext %14 {dfg_id = 31 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %16 = "neura.data_mov"(%15) {dfg_id = 32 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %17 = "neura.gep"(%16) <{operandSegmentSizes = array}> {dfg_id = 33 : i32, lhs_value = "%arg1", mapping_locs = [{id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 9 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.data_mov"(%17) {dfg_id = 35 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %19 = "neura.load"(%18) {dfg_id = 36 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = "neura.data_mov"(%19) {dfg_id = 37 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %21 = "neura.add"(%20) {dfg_id = 38 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 0 : i32}], rhs_value = 1 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %22 = "neura.data_mov"(%21) {dfg_id = 39 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = "neura.data_mov"(%17) {dfg_id = 34 : i32, mapping_locs = [{id = 2001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 2001 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 2001 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%22, %23) {dfg_id = 40 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () // MAPPING-NEXT: %24 = "neura.data_mov"(%3) {dfg_id = 5 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %25 = "neura.add"(%24) {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data // MAPPING-NEXT: %26 = "neura.data_mov"(%25) {dfg_id = 10 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data @@ -61,11 +61,11 @@ // MAPPING-NEXT: %31 = "neura.data_mov"(%29) {dfg_id = 22 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data // MAPPING-NEXT: %32 = neura.grant_predicate %30, %31 {dfg_id = 25 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING-NEXT: neura.ctrl_mov %32 -> %1 {dfg_id = 27 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %33 = "neura.data_mov"(%27) {dfg_id = 14 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %34 = "neura.data_mov"(%27) {dfg_id = 15 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 289 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 289 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 289 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %35 = neura.grant_predicate %33, %34 {dfg_id = 18 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %36 = "neura.data_mov"(%35) {dfg_id = 21 : i32, mapping_locs = [{id = 290 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_void %36 : !neura.data {dfg_id = 24 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 2 : i32}]} +// MAPPING-NEXT: %33 = "neura.data_mov"(%27) {dfg_id = 14 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 192 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %34 = "neura.data_mov"(%27) {dfg_id = 15 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 193 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 193 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 193 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 193 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 193 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %35 = neura.grant_predicate %33, %34 {dfg_id = 18 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 10 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %36 = "neura.data_mov"(%35) {dfg_id = 21 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_void %36 : !neura.data {dfg_id = 24 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 11 : i32, x = 2 : i32, y = 1 : i32}]} // MAPPING-NEXT: neura.yield {dfg_id = 2 : i32} // MAPPING-NEXT: } // MAPPING-NEXT: } @@ -75,82 +75,45 @@ // YAML-NEXT: compiled_ii: 5 // YAML-NEXT: cores: // YAML-NEXT: - column: 2 -// YAML-NEXT: row: 1 -// YAML-NEXT: core_id: "6" +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: // YAML-NEXT: - index_per_ii: 0 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "ADD" -// YAML-NEXT: id: 38 +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 36 // YAML-NEXT: time_step: 10 // YAML-NEXT: invalid_iterations: 2 // YAML-NEXT: src_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "#1" -// YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" -// YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 34 -// YAML-NEXT: time_step: 10 -// YAML-NEXT: invalid_iterations: 2 -// YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "EAST" -// YAML-NEXT: color: "RED" -// YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$1" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 1 -// YAML-NEXT: operations: -// YAML-NEXT: - opcode: "STORE" -// YAML-NEXT: id: 40 -// YAML-NEXT: time_step: 11 // ASM: # Compiled II: 5 -// ASM: PE(2,1): +// ASM: PE(2,0): // ASM-NEXT: { -// ASM-NEXT: ADD, [$0], [#1] -> [$0] (t=10, inv_iters=2) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=10, inv_iters=2) +// ASM-NEXT: LOAD, [$0] -> [$0] (t=10, inv_iters=2) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { -// ASM-NEXT: STORE, [$0], [$1] (t=11, inv_iters=2) +// ASM-NEXT: ADD, [$0], [#1] -> [$0] (t=11, inv_iters=2) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: LOAD, [EAST, RED] -> [$0] (t=9, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=4) -// ASM: PE(3,1): -// ASM-NEXT: { -// ASM-NEXT: ADD, [NORTH, RED], [#-5] -> [$0] (t=5, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=0) -// ASM-NEXT: { -// ASM-NEXT: DIV, [$0], [#18] -> [$0] (t=6, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=1) -// ASM-NEXT: { -// ASM-NEXT: SEXT, [$0] -> [$0] (t=7, inv_iters=1) +// ASM-NEXT: STORE, [$0], [$1] (t=12, inv_iters=2) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { -// ASM-NEXT: GEP, [$0] -> [WEST, RED], [$0] (t=8, inv_iters=1) +// ASM-NEXT: SEXT, [EAST, RED] -> [$0] (t=8, inv_iters=1) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=9, inv_iters=1) +// ASM-NEXT: GEP, [$0] -> [$0], [$1] (t=9, inv_iters=1) // ASM-NEXT: } (idx_per_ii=4) -// ASM: PE(1,2): -// ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=5, inv_iters=1) -// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [$2] (t=10, inv_iters=2) -// ASM-NEXT: } (idx_per_ii=0) -// ASM-NEXT: { -// ASM-NEXT: RETURN_VOID, [$2] (t=11, inv_iters=2) -// ASM-NEXT: } (idx_per_ii=1) -// ASM-NEXT: { // RUN: mlir-neura-opt %t-kernel.mlir --view-op-graph 2>&1 | sed -n '/^digraph G {/,/^}$/p' > histogram_kernel_original.dot -// RUN: dot -Tpng histogram_kernel_original.dot -o histogram_kernel_original.png -// RUN: dot -Tjson histogram_kernel_original.dot -o histogram_kernel_original.json +// RUN: command -v dot >/dev/null && dot -Tpng histogram_kernel_original.dot -o histogram_kernel_original.png || true +// RUN: command -v dot >/dev/null && dot -Tjson histogram_kernel_original.dot -o histogram_kernel_original.json || true // RUN: mlir-neura-opt %t-kernel.mlir \ // RUN: --assign-accelerator \ // RUN: --lower-llvm-to-neura \ @@ -162,8 +125,8 @@ // RUN: --transform-ctrl-to-data-flow \ // RUN: --fold-constant \ // RUN: --view-op-graph 2>&1 | sed -n '/^digraph G {/,/^}$/p' > histogram_kernel.dot -// RUN: dot -Tpng histogram_kernel.dot -o histogram_kernel.png -// RUN: dot -Tjson histogram_kernel.dot -o histogram_kernel.json +// RUN: command -v dot >/dev/null && dot -Tpng histogram_kernel.dot -o histogram_kernel.png || true +// RUN: command -v dot >/dev/null && dot -Tjson histogram_kernel.dot -o histogram_kernel.json || true // RUN: FileCheck %s --input-file=histogram_kernel.dot -check-prefix=DOT // DOT: digraph G { diff --git a/test/e2e/relu/relu_kernel.mlir b/test/e2e/relu/relu_kernel.mlir index a6588a54..cba4bce8 100644 --- a/test/e2e/relu/relu_kernel.mlir +++ b/test/e2e/relu/relu_kernel.mlir @@ -33,28 +33,28 @@ // Check the mapped MLIR contains key operations with full statements. // RUN: FileCheck %s --input-file=%t-mapping.mlir -check-prefix=MAPPING // MAPPING: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 3 : i32, y = 2 : i32}]} : () -> !neura.data -// MAPPING: %1 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 3 : i32}]} : () -> !neura.data +// MAPPING: %1 = "neura.grant_once"() <{constant_value = 0 : i32}> {dfg_id = 1 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 2 : i32}]} : () -> !neura.data // MAPPING: %2 = neura.reserve {dfg_id = 2 : i32} : !neura.data -// MAPPING: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %3 = "neura.data_mov"(%1) {dfg_id = 6 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data // MAPPING: %4 = neura.phi_start %3, %2 {dfg_id = 8 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING: %5 = neura.reserve {dfg_id = 3 : i32} : !neura.data // MAPPING: %6 = "neura.data_mov"(%0) {dfg_id = 5 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data // MAPPING: %7 = neura.phi_start %6, %5 {dfg_id = 7 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING: %8 = "neura.data_mov"(%7) {dfg_id = 11 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING: %9 = "neura.gep"(%8) <{operandSegmentSizes = array}> {dfg_id = 16 : i32, lhs_value = "%arg0", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %10 = "neura.data_mov"(%9) {dfg_id = 20 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %11 = "neura.load"(%10) {dfg_id = 22 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %12 = "neura.data_mov"(%11) {dfg_id = 27 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %13 = "neura.icmp"(%12) <{cmpType = "sge"}> {dfg_id = 30 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 2 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING: %14 = "neura.data_mov"(%13) {dfg_id = 34 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 31 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %15 = "neura.data_mov"(%11) {dfg_id = 26 : i32, mapping_locs = [{id = 35 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 288 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %16 = "neura.data_mov"(%4) {dfg_id = 13 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 289 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %17 = "neura.sel"(%14, %15, %16) {dfg_id = 38 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data -// MAPPING: %18 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 448 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 448 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 448 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %19 = "neura.gep"(%18) <{operandSegmentSizes = array}> {dfg_id = 15 : i32, lhs_value = "%arg1", mapping_locs = [{id = 14 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %20 = "neura.data_mov"(%17) {dfg_id = 41 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %21 = "neura.data_mov"(%19) {dfg_id = 19 : i32, mapping_locs = [{id = 448 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 43 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: "neura.store"(%20, %21) {dfg_id = 42 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING: %10 = "neura.data_mov"(%9) {dfg_id = 20 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 22 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %11 = "neura.load"(%10) {dfg_id = 22 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %12 = "neura.data_mov"(%11) {dfg_id = 27 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %13 = "neura.icmp"(%12) <{cmpType = "sge"}> {dfg_id = 30 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 3 : i32, y = 0 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data +// MAPPING: %14 = "neura.data_mov"(%13) {dfg_id = 34 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %15 = "neura.data_mov"(%11) {dfg_id = 26 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 1000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %16 = "neura.data_mov"(%4) {dfg_id = 13 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 29 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 15 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %17 = "neura.sel"(%14, %15, %16) {dfg_id = 38 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data +// MAPPING: %18 = "neura.data_mov"(%7) {dfg_id = 10 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 192 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}, {id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %19 = "neura.gep"(%18) <{operandSegmentSizes = array}> {dfg_id = 15 : i32, lhs_value = "%arg1", mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %20 = "neura.data_mov"(%17) {dfg_id = 41 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %21 = "neura.data_mov"(%19) {dfg_id = 19 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 15 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: "neura.store"(%20, %21) {dfg_id = 42 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () // MAPPING: %22 = "neura.data_mov"(%7) {dfg_id = 9 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data // MAPPING: %23 = "neura.add"(%22) {dfg_id = 14 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 2 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data // MAPPING: %24 = "neura.data_mov"(%23) {dfg_id = 18 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data @@ -65,15 +65,15 @@ // MAPPING: %29 = "neura.data_mov"(%27) {dfg_id = 33 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data // MAPPING: %30 = neura.grant_predicate %28, %29 {dfg_id = 37 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPING: neura.ctrl_mov %30 -> %5 {dfg_id = 40 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : !neura.data !neura.data -// MAPPING: %31 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 24 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %32 = "neura.data_mov"(%27) {dfg_id = 32 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 43 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}, {id = 42 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %33 = neura.grant_predicate %31, %32 {dfg_id = 36 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: neura.ctrl_mov %33 -> %2 {dfg_id = 39 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}, {id = 256 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : !neura.data !neura.data -// MAPPING: %34 = "neura.data_mov"(%25) {dfg_id = 23 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %35 = "neura.data_mov"(%25) {dfg_id = 24 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 33 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: %36 = neura.grant_predicate %34, %35 {dfg_id = 28 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING: %37 = "neura.data_mov"(%36) {dfg_id = 31 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING: neura.return_void %37 : !neura.data {dfg_id = 35 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 2 : i32, y = 1 : i32}]} +// MAPPING: %31 = "neura.data_mov"(%4) {dfg_id = 12 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 24 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %32 = "neura.data_mov"(%27) {dfg_id = 32 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 4 : i32}, {id = 31 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %33 = neura.grant_predicate %31, %32 {dfg_id = 36 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING: neura.ctrl_mov %33 -> %2 {dfg_id = 39 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 8001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 8001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : !neura.data !neura.data +// MAPPING: %34 = "neura.data_mov"(%25) {dfg_id = 23 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %35 = "neura.data_mov"(%25) {dfg_id = 24 : i32, mapping_locs = [{id = 322 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 3 : i32}, {id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: %36 = neura.grant_predicate %34, %35 {dfg_id = 28 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING: %37 = "neura.data_mov"(%36) {dfg_id = 31 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING: neura.return_void %37 : !neura.data {dfg_id = 35 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 3 : i32}]} // MAPPING: neura.yield {dfg_id = 4 : i32} // MAPPING: } // MAPPING: } @@ -83,56 +83,33 @@ // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 5 // YAML-NEXT: cores: -// YAML-NEXT: - column: 2 -// YAML-NEXT: row: 1 -// YAML-NEXT: core_id: "6" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" // YAML-NEXT: entries: // YAML-NEXT: - entry_id: "entry0" // YAML-NEXT: instructions: -// YAML-NEXT: - index_per_ii: 0 -// YAML-NEXT: operations: -// YAML-NEXT: - opcode: "GRANT_PREDICATE" -// YAML-NEXT: id: 28 -// YAML-NEXT: time_step: 5 -// YAML-NEXT: invalid_iterations: 1 -// YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "$0" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - operand: "NORTH" -// YAML-NEXT: color: "RED" -// YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "$0" -// YAML-NEXT: color: "RED" // YAML-NEXT: - index_per_ii: 1 // YAML-NEXT: operations: -// YAML-NEXT: - opcode: "RETURN_VOID" -// YAML-NEXT: id: 35 +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 26 // YAML-NEXT: time_step: 6 // YAML-NEXT: invalid_iterations: 1 // YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "$0" -// YAML-NEXT: color: "RED" -// YAML-NEXT: - index_per_ii: 4 -// YAML-NEXT: operations: -// YAML-NEXT: - opcode: "DATA_MOV" -// YAML-NEXT: id: 23 -// YAML-NEXT: time_step: 4 -// YAML-NEXT: invalid_iterations: 0 -// YAML-NEXT: src_operands: -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // ASM: # Compiled II: 5 -// ASM: PE(2,1): +// ASM: PE(1,0): // ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [$0] (t=5, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=0) -// ASM-NEXT: { -// ASM-NEXT: RETURN_VOID, [$0] (t=6, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=6, inv_iters=1) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=4, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: SEL, [EAST, RED], [$0], [NORTH, RED] -> [$0] (t=7, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [NORTH, RED] (t=8, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) diff --git a/test/e2e/spmv/spmv_kernel.mlir b/test/e2e/spmv/spmv_kernel.mlir index 24c9bde8..6e268b0f 100644 --- a/test/e2e/spmv/spmv_kernel.mlir +++ b/test/e2e/spmv/spmv_kernel.mlir @@ -22,329 +22,330 @@ // RUN: FileCheck %s --input-file=tmp-generated-instructions.yaml --check-prefix=YAML // RUN: FileCheck %s --input-file=tmp-generated-instructions.asm --check-prefix=ASM // -// MAPPING: func.func @kernel(%arg0: i32 {llvm.noundef}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg5: !llvm.ptr {llvm.nocapture, llvm.noundef}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 15 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 5 : i32, res_mii = 9 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { -// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = "%arg0"}> {dfg_id = 0 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %1 = "neura.constant"() <{value = "%arg0"}> {dfg_id = 1 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 0 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %2 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 2 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}]} : () -> !neura.data -// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 12 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %4 = "neura.icmp"(%3) <{cmpType = "sgt"}> {dfg_id = 14 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %5 = "neura.data_mov"(%4) {dfg_id = 16 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %6 = "neura.grant_once"(%5) {dfg_id = 18 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %7 = "neura.data_mov"(%4) {dfg_id = 15 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 96 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 96 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}, {id = 96 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 96 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 96 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 96 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 96 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 96 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 96 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 96 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 96 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 96 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 96 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 96 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %8 = "neura.not"(%7) {dfg_id = 17 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %9 = "neura.data_mov"(%8) {dfg_id = 19 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %10 = "neura.grant_once"(%9) {dfg_id = 23 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %11 = "neura.data_mov"(%0) {dfg_id = 11 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %12 = "neura.data_mov"(%6) {dfg_id = 22 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %13 = neura.grant_predicate %11, %12 {dfg_id = 26 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %14 = "neura.data_mov"(%2) {dfg_id = 13 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %15 = "neura.data_mov"(%6) {dfg_id = 21 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 161 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 161 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %16 = neura.grant_predicate %14, %15 {dfg_id = 25 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %17 = "neura.data_mov"(%6) {dfg_id = 20 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}, {id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 132 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 5 : i32}, {id = 132 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 6 : i32}, {id = 132 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 7 : i32}, {id = 132 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 8 : i32}, {id = 132 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 9 : i32}, {id = 132 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 132 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 132 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 132 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 132 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 132 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 132 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 132 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %18 = "neura.not"(%17) {dfg_id = 24 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %19 = "neura.data_mov"(%10) {dfg_id = 27 : i32, mapping_locs = [{id = 225 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 225 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 225 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %20 = "neura.data_mov"(%18) {dfg_id = 28 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 14 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 18 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %21 = neura.grant_predicate %19, %20 {dfg_id = 34 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %22 = "neura.data_mov"(%13) {dfg_id = 33 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %23 = neura.zext %22 {dfg_id = 36 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %24 = "neura.data_mov"(%23) {dfg_id = 42 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %25 = "neura.and"(%24) {dfg_id = 46 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %26 = "neura.data_mov"(%13) {dfg_id = 32 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %27 = "neura.icmp"(%26) <{cmpType = "ult"}> {dfg_id = 35 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 4 : i32} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %28 = "neura.data_mov"(%16) {dfg_id = 31 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 32 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 32 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 32 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 32 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %29 = "neura.data_mov"(%27) {dfg_id = 40 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 33 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 33 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 33 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 33 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 33 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 45 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %31 = "neura.data_mov"(%16) {dfg_id = 30 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 13 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 11 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 2 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %32 = "neura.data_mov"(%27) {dfg_id = 39 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 4 : i32}, {id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 3 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 3 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 3 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 3 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 3 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 3 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 44 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %34 = "neura.data_mov"(%27) {dfg_id = 38 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %35 = "neura.not"(%34) {dfg_id = 43 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %36 = "neura.data_mov"(%23) {dfg_id = 41 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %37 = "neura.data_mov"(%35) {dfg_id = 48 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %38 = neura.grant_predicate %36, %37 {dfg_id = 54 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %39 = "neura.data_mov"(%16) {dfg_id = 29 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %40 = "neura.data_mov"(%35) {dfg_id = 47 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %41 = neura.grant_predicate %39, %40 {dfg_id = 53 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %42 = "neura.data_mov"(%38) {dfg_id = 59 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %43 = "neura.and"(%42) {dfg_id = 66 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 2147483644 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %44 = neura.reserve {dfg_id = 3 : i32} : !neura.data -// MAPPING-NEXT: %45 = "neura.data_mov"(%41) {dfg_id = 58 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 129 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 129 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 129 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 129 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 129 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %46 = neura.phi_start %45, %44 {dfg_id = 65 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %47 = neura.reserve {dfg_id = 4 : i32} : !neura.data -// MAPPING-NEXT: %48 = "neura.data_mov"(%43) {dfg_id = 79 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %49 = neura.phi_start %48, %47 {dfg_id = 92 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %50 = neura.reserve {dfg_id = 5 : i32} : !neura.data -// MAPPING-NEXT: %51 = "neura.data_mov"(%41) {dfg_id = 57 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %52 = neura.phi_start %51, %50 {dfg_id = 64 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %53 = neura.reserve {dfg_id = 6 : i32} : !neura.data -// MAPPING-NEXT: %54 = "neura.data_mov"(%41) {dfg_id = 56 : i32, mapping_locs = [{id = 128 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %55 = neura.phi_start %54, %53 {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %56 = "neura.data_mov"(%55) {dfg_id = 75 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 14 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 18 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 224 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 224 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 224 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 224 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 224 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 224 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %57 = "neura.gep"(%56) <{operandSegmentSizes = array}> {dfg_id = 90 : i32, lhs_value = "%arg1", mapping_locs = [{id = 7 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %58 = "neura.data_mov"(%57) {dfg_id = 107 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}, {id = 224 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %59 = "neura.load"(%58) {dfg_id = 124 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %60 = "neura.data_mov"(%55) {dfg_id = 74 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 163 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 163 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 163 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %61 = "neura.gep"(%60) <{operandSegmentSizes = array}> {dfg_id = 89 : i32, lhs_value = "%arg2", mapping_locs = [{id = 5 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %62 = "neura.data_mov"(%61) {dfg_id = 106 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 128 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %63 = "neura.load"(%62) {dfg_id = 123 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %64 = "neura.data_mov"(%63) {dfg_id = 137 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %65 = neura.sext %64 {dfg_id = 154 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %66 = "neura.data_mov"(%65) {dfg_id = 168 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %67 = "neura.gep"(%66) <{operandSegmentSizes = array}> {dfg_id = 182 : i32, lhs_value = "%arg4", mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %68 = "neura.data_mov"(%67) {dfg_id = 197 : i32, mapping_locs = [{id = 256 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %69 = "neura.load"(%68) {dfg_id = 211 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %70 = "neura.data_mov"(%69) {dfg_id = 224 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 28 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %71 = "neura.data_mov"(%59) {dfg_id = 138 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 20 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %72 = "neura.mul"(%70, %71) {dfg_id = 233 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %73 = "neura.data_mov"(%55) {dfg_id = 73 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 131 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 131 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 131 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 131 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 131 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 131 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %74 = "neura.gep"(%73) <{operandSegmentSizes = array}> {dfg_id = 88 : i32, lhs_value = "%arg3", mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %75 = "neura.data_mov"(%74) {dfg_id = 105 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %76 = "neura.load"(%75) {dfg_id = 122 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %77 = "neura.data_mov"(%76) {dfg_id = 136 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %78 = neura.sext %77 {dfg_id = 153 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 3 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %79 = "neura.data_mov"(%78) {dfg_id = 167 : i32, mapping_locs = [{id = 384 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %80 = "neura.gep"(%79) <{operandSegmentSizes = array}> {dfg_id = 181 : i32, lhs_value = "%arg5", mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %81 = "neura.data_mov"(%80) {dfg_id = 196 : i32, mapping_locs = [{id = 384 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %82 = "neura.load"(%81) {dfg_id = 210 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %83 = "neura.data_mov"(%82) {dfg_id = 223 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 42 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 288 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %84 = "neura.data_mov"(%72) {dfg_id = 242 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %85 = "neura.add"(%83, %84) {dfg_id = 251 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %86 = "neura.data_mov"(%85) {dfg_id = 260 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %87 = "neura.data_mov"(%80) {dfg_id = 195 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 256 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 256 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}, {id = 256 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 256 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%86, %87) {dfg_id = 270 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %88 = "neura.data_mov"(%55) {dfg_id = 72 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 288 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 288 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 288 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %89 = "neura.or"(%88) {dfg_id = 87 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %90 = "neura.data_mov"(%89) {dfg_id = 104 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 417 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 417 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 417 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %91 = "neura.gep"(%90) <{operandSegmentSizes = array}> {dfg_id = 121 : i32, lhs_value = "%arg1", mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %92 = "neura.data_mov"(%91) {dfg_id = 135 : i32, mapping_locs = [{id = 417 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 417 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %93 = "neura.load"(%92) {dfg_id = 152 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %94 = "neura.data_mov"(%89) {dfg_id = 103 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %95 = "neura.gep"(%94) <{operandSegmentSizes = array}> {dfg_id = 120 : i32, lhs_value = "%arg2", mapping_locs = [{id = 9 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %96 = "neura.data_mov"(%95) {dfg_id = 134 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %97 = "neura.load"(%96) {dfg_id = 151 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %98 = "neura.data_mov"(%97) {dfg_id = 165 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %99 = neura.sext %98 {dfg_id = 180 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 3 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %100 = "neura.data_mov"(%99) {dfg_id = 194 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 416 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %101 = "neura.gep"(%100) <{operandSegmentSizes = array}> {dfg_id = 209 : i32, lhs_value = "%arg4", mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %102 = "neura.data_mov"(%101) {dfg_id = 222 : i32, mapping_locs = [{id = 42 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %103 = "neura.load"(%102) {dfg_id = 232 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %104 = "neura.data_mov"(%103) {dfg_id = 241 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %105 = "neura.data_mov"(%93) {dfg_id = 166 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %106 = "neura.mul"(%104, %105) {dfg_id = 250 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %107 = "neura.data_mov"(%89) {dfg_id = 102 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 289 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %108 = "neura.gep"(%107) <{operandSegmentSizes = array}> {dfg_id = 119 : i32, lhs_value = "%arg3", mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %109 = "neura.data_mov"(%108) {dfg_id = 133 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %110 = "neura.load"(%109) {dfg_id = 150 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %111 = "neura.data_mov"(%110) {dfg_id = 164 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %112 = neura.sext %111 {dfg_id = 179 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 3 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %113 = "neura.data_mov"(%112) {dfg_id = 193 : i32, mapping_locs = [{id = 448 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %114 = "neura.gep"(%113) <{operandSegmentSizes = array}> {dfg_id = 208 : i32, lhs_value = "%arg5", mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %115 = "neura.data_mov"(%114) {dfg_id = 221 : i32, mapping_locs = [{id = 448 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %116 = "neura.load"(%115) {dfg_id = 231 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %117 = "neura.data_mov"(%116) {dfg_id = 240 : i32, mapping_locs = [{id = 43 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 416 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %118 = "neura.data_mov"(%106) {dfg_id = 259 : i32, mapping_locs = [{id = 417 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %119 = "neura.add"(%117, %118) {dfg_id = 269 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %120 = "neura.data_mov"(%119) {dfg_id = 277 : i32, mapping_locs = [{id = 416 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %121 = "neura.data_mov"(%114) {dfg_id = 220 : i32, mapping_locs = [{id = 43 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 418 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 418 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 418 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%120, %121) {dfg_id = 286 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %122 = "neura.data_mov"(%55) {dfg_id = 71 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 193 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 193 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 193 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %123 = "neura.or"(%122) {dfg_id = 86 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 2 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %124 = "neura.data_mov"(%123) {dfg_id = 101 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 320 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %125 = "neura.gep"(%124) <{operandSegmentSizes = array}> {dfg_id = 118 : i32, lhs_value = "%arg1", mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %126 = "neura.data_mov"(%125) {dfg_id = 132 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 352 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %127 = "neura.load"(%126) {dfg_id = 149 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %128 = "neura.data_mov"(%123) {dfg_id = 100 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %129 = "neura.gep"(%128) <{operandSegmentSizes = array}> {dfg_id = 117 : i32, lhs_value = "%arg2", mapping_locs = [{id = 6 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %130 = "neura.data_mov"(%129) {dfg_id = 131 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %131 = "neura.load"(%130) {dfg_id = 148 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %132 = "neura.data_mov"(%131) {dfg_id = 162 : i32, mapping_locs = [{id = 23 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %133 = neura.sext %132 {dfg_id = 178 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 2 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %134 = "neura.data_mov"(%133) {dfg_id = 192 : i32, mapping_locs = [{id = 37 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %135 = "neura.gep"(%134) <{operandSegmentSizes = array}> {dfg_id = 207 : i32, lhs_value = "%arg4", mapping_locs = [{id = 15 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %136 = "neura.data_mov"(%135) {dfg_id = 219 : i32, mapping_locs = [{id = 480 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %137 = "neura.load"(%136) {dfg_id = 230 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %138 = "neura.data_mov"(%137) {dfg_id = 239 : i32, mapping_locs = [{id = 47 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 352 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %139 = "neura.data_mov"(%127) {dfg_id = 163 : i32, mapping_locs = [{id = 353 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %140 = "neura.mul"(%138, %139) {dfg_id = 249 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %141 = "neura.data_mov"(%123) {dfg_id = 99 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 193 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %142 = "neura.gep"(%141) <{operandSegmentSizes = array}> {dfg_id = 116 : i32, lhs_value = "%arg3", mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %143 = "neura.data_mov"(%142) {dfg_id = 130 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %144 = "neura.load"(%143) {dfg_id = 147 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %145 = "neura.data_mov"(%144) {dfg_id = 161 : i32, mapping_locs = [{id = 23 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %146 = neura.sext %145 {dfg_id = 177 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 2 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %147 = "neura.data_mov"(%146) {dfg_id = 191 : i32, mapping_locs = [{id = 352 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %148 = "neura.gep"(%147) <{operandSegmentSizes = array}> {dfg_id = 206 : i32, lhs_value = "%arg5", mapping_locs = [{id = 11 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %149 = "neura.data_mov"(%148) {dfg_id = 218 : i32, mapping_locs = [{id = 37 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %150 = "neura.load"(%149) {dfg_id = 229 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %151 = "neura.data_mov"(%150) {dfg_id = 238 : i32, mapping_locs = [{id = 480 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 480 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %152 = "neura.data_mov"(%140) {dfg_id = 258 : i32, mapping_locs = [{id = 37 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %153 = "neura.add"(%151, %152) {dfg_id = 268 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 3 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %154 = "neura.data_mov"(%153) {dfg_id = 276 : i32, mapping_locs = [{id = 47 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %155 = "neura.data_mov"(%148) {dfg_id = 217 : i32, mapping_locs = [{id = 354 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 354 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 354 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 354 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%154, %155) {dfg_id = 285 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %156 = "neura.data_mov"(%55) {dfg_id = 70 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 34 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 34 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 34 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 34 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %157 = "neura.or"(%156) {dfg_id = 85 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %158 = "neura.data_mov"(%157) {dfg_id = 98 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 3 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 67 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 67 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 67 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %159 = "neura.gep"(%158) <{operandSegmentSizes = array}> {dfg_id = 115 : i32, lhs_value = "%arg1", mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %160 = "neura.data_mov"(%159) {dfg_id = 129 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %161 = "neura.load"(%160) {dfg_id = 146 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %162 = "neura.data_mov"(%157) {dfg_id = 97 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %163 = "neura.gep"(%162) <{operandSegmentSizes = array}> {dfg_id = 114 : i32, lhs_value = "%arg2", mapping_locs = [{id = 1 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %164 = "neura.data_mov"(%163) {dfg_id = 128 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %165 = "neura.load"(%164) {dfg_id = 145 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %166 = "neura.data_mov"(%165) {dfg_id = 159 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 32 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %167 = neura.sext %166 {dfg_id = 176 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %168 = "neura.data_mov"(%167) {dfg_id = 190 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %169 = "neura.gep"(%168) <{operandSegmentSizes = array}> {dfg_id = 205 : i32, lhs_value = "%arg4", mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %170 = "neura.data_mov"(%169) {dfg_id = 216 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %171 = "neura.load"(%170) {dfg_id = 228 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %172 = "neura.data_mov"(%171) {dfg_id = 237 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %173 = "neura.data_mov"(%161) {dfg_id = 160 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 64 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %174 = "neura.mul"(%172, %173) {dfg_id = 248 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %175 = "neura.data_mov"(%157) {dfg_id = 96 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 64 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %176 = "neura.gep"(%175) <{operandSegmentSizes = array}> {dfg_id = 113 : i32, lhs_value = "%arg3", mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %177 = "neura.data_mov"(%176) {dfg_id = 127 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %178 = "neura.load"(%177) {dfg_id = 144 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %179 = "neura.data_mov"(%178) {dfg_id = 158 : i32, mapping_locs = [{id = 97 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}, {id = 97 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %180 = neura.sext %179 {dfg_id = 175 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 0 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %181 = "neura.data_mov"(%180) {dfg_id = 189 : i32, mapping_locs = [{id = 97 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %182 = "neura.gep"(%181) <{operandSegmentSizes = array}> {dfg_id = 204 : i32, lhs_value = "%arg5", mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %183 = "neura.data_mov"(%182) {dfg_id = 215 : i32, mapping_locs = [{id = 97 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %184 = "neura.load"(%183) {dfg_id = 227 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %185 = "neura.data_mov"(%184) {dfg_id = 236 : i32, mapping_locs = [{id = 97 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 97 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %186 = "neura.data_mov"(%174) {dfg_id = 257 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %187 = "neura.add"(%185, %186) {dfg_id = 267 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %188 = "neura.data_mov"(%187) {dfg_id = 275 : i32, mapping_locs = [{id = 97 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %189 = "neura.data_mov"(%182) {dfg_id = 214 : i32, mapping_locs = [{id = 98 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 98 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 98 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 98 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%188, %189) {dfg_id = 284 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %190 = "neura.data_mov"(%55) {dfg_id = 69 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %191 = "neura.add"(%190) {dfg_id = 84 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %192 = "neura.data_mov"(%52) {dfg_id = 76 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %193 = "neura.add"(%192) {dfg_id = 91 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %194 = "neura.data_mov"(%193) {dfg_id = 109 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 160 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %195 = "neura.data_mov"(%49) {dfg_id = 111 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %196 = "neura.icmp"(%194, %195) <{cmpType = "eq"}> {dfg_id = 125 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %197 = "neura.data_mov"(%196) {dfg_id = 141 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %198 = "neura.not"(%197) {dfg_id = 157 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %199 = "neura.data_mov"(%191) {dfg_id = 95 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 36 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 36 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 36 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 36 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 36 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 36 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 36 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 36 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 36 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 36 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 36 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %200 = "neura.data_mov"(%198) {dfg_id = 174 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 29 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 15 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 37 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 37 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 37 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 37 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 37 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 37 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 37 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 37 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %201 = neura.grant_predicate %199, %200 {dfg_id = 188 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %201 -> %53 {dfg_id = 203 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %202 = "neura.data_mov"(%193) {dfg_id = 108 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 192 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 192 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %203 = "neura.data_mov"(%198) {dfg_id = 173 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %204 = neura.grant_predicate %202, %203 {dfg_id = 187 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %204 -> %50 {dfg_id = 202 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 162 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 162 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 162 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 162 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 162 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 162 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %205 = "neura.data_mov"(%49) {dfg_id = 110 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 32 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 32 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %206 = "neura.data_mov"(%198) {dfg_id = 172 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %207 = neura.grant_predicate %205, %206 {dfg_id = 186 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %207 -> %47 {dfg_id = 201 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 2 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 2 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %208 = "neura.data_mov"(%46) {dfg_id = 78 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 164 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 164 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 164 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 164 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 164 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 164 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 164 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 164 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %209 = "neura.data_mov"(%198) {dfg_id = 171 : i32, mapping_locs = [{id = 165 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 11 : i32}, {id = 165 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 165 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 165 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 165 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 165 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 165 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 165 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 165 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 165 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %210 = neura.grant_predicate %208, %209 {dfg_id = 185 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %210 -> %44 {dfg_id = 200 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 13 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 128 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}, {id = 128 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}, {id = 128 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 25 : i32}, {id = 128 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %211 = "neura.data_mov"(%191) {dfg_id = 94 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %212 = "neura.data_mov"(%196) {dfg_id = 140 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 162 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %213 = neura.grant_predicate %211, %212 {dfg_id = 156 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %214 = "neura.data_mov"(%46) {dfg_id = 77 : i32, mapping_locs = [{id = 129 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %215 = "neura.data_mov"(%196) {dfg_id = 139 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 130 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 130 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %216 = neura.grant_predicate %214, %215 {dfg_id = 155 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %217 = "neura.data_mov"(%33) {dfg_id = 49 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %218 = "neura.data_mov"(%216) {dfg_id = 169 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %219 = "neura.phi"(%217, %218) {dfg_id = 183 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %220 = "neura.data_mov"(%30) {dfg_id = 50 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 160 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 160 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %221 = "neura.data_mov"(%213) {dfg_id = 170 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %222 = "neura.phi"(%220, %221) {dfg_id = 184 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %223 = "neura.data_mov"(%25) {dfg_id = 52 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %224 = "neura.icmp"(%223) <{cmpType = "eq"}> {dfg_id = 55 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 0 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %225 = "neura.data_mov"(%224) {dfg_id = 61 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 10 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 15 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 34 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 34 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 34 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 34 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 34 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 34 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 34 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 34 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %226 = "neura.data_mov"(%224) {dfg_id = 62 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 0 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 35 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 35 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 35 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 35 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 35 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 35 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 35 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 35 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %227 = neura.grant_predicate %225, %226 {dfg_id = 68 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %228 = "neura.data_mov"(%224) {dfg_id = 60 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %229 = "neura.not"(%228) {dfg_id = 67 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %230 = "neura.data_mov"(%222) {dfg_id = 199 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %231 = "neura.data_mov"(%229) {dfg_id = 82 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 128 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 128 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %232 = neura.grant_predicate %230, %231 {dfg_id = 213 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %233 = "neura.data_mov"(%219) {dfg_id = 198 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %234 = "neura.data_mov"(%229) {dfg_id = 81 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 1 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 1 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 1 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %235 = neura.grant_predicate %233, %234 {dfg_id = 212 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %236 = "neura.data_mov"(%25) {dfg_id = 51 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 65 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 65 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 65 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 65 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %237 = "neura.data_mov"(%229) {dfg_id = 80 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 3 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 66 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 66 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 66 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %238 = neura.grant_predicate %236, %237 {dfg_id = 93 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %239 = neura.reserve {dfg_id = 7 : i32} : !neura.data -// MAPPING-NEXT: %240 = "neura.data_mov"(%238) {dfg_id = 112 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %241 = neura.phi_start %240, %239 {dfg_id = 126 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %242 = neura.reserve {dfg_id = 8 : i32} : !neura.data -// MAPPING-NEXT: %243 = "neura.data_mov"(%235) {dfg_id = 225 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 128 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %244 = neura.phi_start %243, %242 {dfg_id = 234 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %245 = neura.reserve {dfg_id = 9 : i32} : !neura.data -// MAPPING-NEXT: %246 = "neura.data_mov"(%232) {dfg_id = 226 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %247 = neura.phi_start %246, %245 {dfg_id = 235 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %248 = "neura.data_mov"(%247) {dfg_id = 247 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 16 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 288 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %249 = "neura.gep"(%248) <{operandSegmentSizes = array}> {dfg_id = 256 : i32, lhs_value = "%arg1", mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %250 = "neura.data_mov"(%249) {dfg_id = 266 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 288 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %251 = "neura.load"(%250) {dfg_id = 274 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %252 = "neura.data_mov"(%247) {dfg_id = 246 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %253 = "neura.gep"(%252) <{operandSegmentSizes = array}> {dfg_id = 255 : i32, lhs_value = "%arg2", mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %254 = "neura.data_mov"(%253) {dfg_id = 265 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %255 = "neura.load"(%254) {dfg_id = 273 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %256 = "neura.data_mov"(%255) {dfg_id = 282 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %257 = neura.sext %256 {dfg_id = 290 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %258 = "neura.data_mov"(%257) {dfg_id = 296 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %259 = "neura.gep"(%258) <{operandSegmentSizes = array}> {dfg_id = 302 : i32, lhs_value = "%arg4", mapping_locs = [{id = 6 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %260 = "neura.data_mov"(%259) {dfg_id = 309 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %261 = "neura.load"(%260) {dfg_id = 312 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %262 = "neura.data_mov"(%261) {dfg_id = 314 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %263 = "neura.data_mov"(%251) {dfg_id = 283 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %264 = "neura.mul"(%262, %263) {dfg_id = 315 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %265 = "neura.data_mov"(%247) {dfg_id = 245 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %266 = "neura.gep"(%265) <{operandSegmentSizes = array}> {dfg_id = 254 : i32, lhs_value = "%arg3", mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %267 = "neura.data_mov"(%266) {dfg_id = 264 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %268 = "neura.load"(%267) {dfg_id = 272 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %269 = "neura.data_mov"(%268) {dfg_id = 281 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %270 = neura.sext %269 {dfg_id = 289 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data -> !neura.data -// MAPPING-NEXT: %271 = "neura.data_mov"(%270) {dfg_id = 295 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %272 = "neura.gep"(%271) <{operandSegmentSizes = array}> {dfg_id = 301 : i32, lhs_value = "%arg5", mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %273 = "neura.data_mov"(%272) {dfg_id = 308 : i32, mapping_locs = [{id = 34 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %274 = "neura.load"(%273) {dfg_id = 311 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %275 = "neura.data_mov"(%274) {dfg_id = 313 : i32, mapping_locs = [{id = 45 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 320 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %276 = "neura.data_mov"(%264) {dfg_id = 316 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %277 = "neura.add"(%275, %276) {dfg_id = 317 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %278 = "neura.data_mov"(%277) {dfg_id = 318 : i32, mapping_locs = [{id = 320 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %279 = "neura.data_mov"(%272) {dfg_id = 307 : i32, mapping_locs = [{id = 321 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 321 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 321 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 321 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: "neura.store"(%278, %279) {dfg_id = 319 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () -// MAPPING-NEXT: %280 = "neura.data_mov"(%247) {dfg_id = 244 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %281 = "neura.add"(%280) {dfg_id = 253 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %282 = "neura.data_mov"(%244) {dfg_id = 243 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %283 = "neura.add"(%282) {dfg_id = 252 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %284 = "neura.data_mov"(%283) {dfg_id = 262 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %285 = "neura.data_mov"(%241) {dfg_id = 143 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 193 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 193 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %286 = "neura.icmp"(%284, %285) <{cmpType = "eq"}> {dfg_id = 271 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %287 = "neura.data_mov"(%286) {dfg_id = 280 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %288 = "neura.not"(%287) {dfg_id = 288 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %289 = "neura.data_mov"(%281) {dfg_id = 263 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 16 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 289 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 289 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 289 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 289 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 289 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %290 = "neura.data_mov"(%288) {dfg_id = 294 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 16 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %291 = neura.grant_predicate %289, %290 {dfg_id = 300 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %291 -> %245 {dfg_id = 306 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}, {id = 166 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 24 : i32}, {id = 166 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 166 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 166 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 166 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 166 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %292 = "neura.data_mov"(%283) {dfg_id = 261 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 14 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 195 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 195 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 195 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %293 = "neura.data_mov"(%288) {dfg_id = 293 : i32, mapping_locs = [{id = 196 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 196 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 196 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %294 = neura.grant_predicate %292, %293 {dfg_id = 299 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %294 -> %242 {dfg_id = 305 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 24 : i32}, {id = 164 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 13 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 26 : i32}, {id = 133 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 133 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 133 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 133 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 133 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %295 = "neura.data_mov"(%241) {dfg_id = 142 : i32, mapping_locs = [{id = 65 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 65 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 65 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 65 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 65 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %296 = "neura.data_mov"(%288) {dfg_id = 292 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %297 = neura.grant_predicate %295, %296 {dfg_id = 298 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: neura.ctrl_mov %297 -> %239 {dfg_id = 304 : i32, mapping_locs = [{id = 68 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 68 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 68 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 68 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 68 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 68 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}, {id = 68 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 28 : i32}, {id = 68 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 29 : i32}, {id = 68 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 30 : i32}, {id = 68 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data -// MAPPING-NEXT: %298 = "neura.data_mov"(%286) {dfg_id = 278 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 193 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %299 = "neura.data_mov"(%286) {dfg_id = 279 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 194 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %300 = neura.grant_predicate %298, %299 {dfg_id = 287 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPING-NEXT: %301 = "neura.data_mov"(%21) {dfg_id = 37 : i32, mapping_locs = [{id = 21 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 19 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 64 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %302 = "neura.data_mov"(%227) {dfg_id = 83 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 65 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 65 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %303 = "neura.data_mov"(%300) {dfg_id = 291 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}, {id = 19 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: %304 = "neura.phi"(%301, %302, %303) {dfg_id = 297 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data -// MAPPING-NEXT: %305 = "neura.data_mov"(%304) {dfg_id = 303 : i32, mapping_locs = [{id = 64 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data -// MAPPING-NEXT: neura.return_void %305 : !neura.data {dfg_id = 310 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 25 : i32, x = 2 : i32, y = 0 : i32}]} -// MAPPING-NEXT: neura.yield {dfg_id = 10 : i32} -// MAPPING-NEXT: } -// +// MAPPING: func.func @kernel(%arg0: i32 {llvm.noundef}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg2: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg3: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg4: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg5: !llvm.ptr {llvm.nocapture, llvm.noundef}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 15 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 5 : i32, res_mii = 9 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}, memory_effects = #llvm.memory_effects, no_unwind, passthrough = ["nofree", "norecurse", "nosync", ["uwtable", "2"], ["min-legal-vector-width", "0"], ["no-trapping-math", "true"], ["stack-protector-buffer-size", "8"], ["target-cpu", "x86-64"]], target_cpu = "x86-64", target_features = #llvm.target_features<["+cmov", "+cx8", "+fxsr", "+mmx", "+sse", "+sse2", "+x87"]>, tune_cpu = "generic", unnamed_addr = 1 : i64, visibility_ = 0 : i64} { +// MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = "%arg0"}> {dfg_id = 0 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %1 = "neura.constant"() <{value = "%arg0"}> {dfg_id = 1 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 1 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %2 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 2 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}]} : () -> !neura.data +// MAPPING-NEXT: %3 = "neura.data_mov"(%1) {dfg_id = 12 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %4 = "neura.icmp"(%3) <{cmpType = "sgt"}> {dfg_id = 14 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 0 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %5 = "neura.data_mov"(%4) {dfg_id = 16 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %6 = "neura.grant_once"(%5) {dfg_id = 18 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %7 = "neura.data_mov"(%4) {dfg_id = 15 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}, {id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 16 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 290 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 5 : i32}, {id = 290 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 6 : i32}, {id = 290 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 290 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 290 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 290 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 290 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 290 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}, {id = 290 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 290 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 290 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 290 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %8 = "neura.not"(%7) {dfg_id = 17 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %9 = "neura.data_mov"(%8) {dfg_id = 19 : i32, mapping_locs = [{id = 28 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 320 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %10 = "neura.grant_once"(%9) {dfg_id = 23 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %11 = "neura.data_mov"(%0) {dfg_id = 11 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %12 = "neura.data_mov"(%6) {dfg_id = 22 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %13 = neura.grant_predicate %11, %12 {dfg_id = 26 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %14 = "neura.data_mov"(%2) {dfg_id = 13 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %15 = "neura.data_mov"(%6) {dfg_id = 21 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 161 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 161 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %16 = neura.grant_predicate %14, %15 {dfg_id = 25 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %17 = "neura.data_mov"(%6) {dfg_id = 20 : i32, mapping_locs = [{id = 1003 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 2 : i32}, {id = 1003 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 3 : i32}, {id = 1003 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 4 : i32}, {id = 1003 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 1003 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 1003 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 1003 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 1003 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 1003 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 1003 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 1003 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 1003 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 1003 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 1003 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 1003 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 1003 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 1003 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 1003 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %18 = "neura.not"(%17) {dfg_id = 24 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %19 = "neura.data_mov"(%10) {dfg_id = 27 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 29 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %20 = "neura.data_mov"(%18) {dfg_id = 28 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %21 = neura.grant_predicate %19, %20 {dfg_id = 34 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %22 = "neura.data_mov"(%13) {dfg_id = 33 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %23 = neura.zext %22 {dfg_id = 36 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %24 = "neura.data_mov"(%23) {dfg_id = 42 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %25 = "neura.and"(%24) {dfg_id = 46 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %26 = "neura.data_mov"(%13) {dfg_id = 32 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %27 = "neura.icmp"(%26) <{cmpType = "ult"}> {dfg_id = 35 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 4 : i32} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %28 = "neura.data_mov"(%16) {dfg_id = 31 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}, {id = 1000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 1000 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}, {id = 1000 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 1000 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %29 = "neura.data_mov"(%27) {dfg_id = 40 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1001 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 5 : i32}, {id = 1001 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 1001 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 1001 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 1001 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %30 = neura.grant_predicate %28, %29 {dfg_id = 45 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %31 = "neura.data_mov"(%16) {dfg_id = 30 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 13 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}, {id = 11 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}, {id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 2 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %32 = "neura.data_mov"(%27) {dfg_id = 39 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 4 : i32}, {id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 5 : i32}, {id = 3 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 6 : i32}, {id = 3 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 7 : i32}, {id = 3 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 3 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 3 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 3 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %33 = neura.grant_predicate %31, %32 {dfg_id = 44 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %34 = "neura.data_mov"(%27) {dfg_id = 38 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %35 = "neura.not"(%34) {dfg_id = 43 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %36 = "neura.data_mov"(%23) {dfg_id = 41 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %37 = "neura.data_mov"(%35) {dfg_id = 48 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %38 = neura.grant_predicate %36, %37 {dfg_id = 54 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %39 = "neura.data_mov"(%16) {dfg_id = 29 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %40 = "neura.data_mov"(%35) {dfg_id = 47 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %41 = neura.grant_predicate %39, %40 {dfg_id = 53 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %42 = "neura.data_mov"(%38) {dfg_id = 59 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %43 = "neura.and"(%42) {dfg_id = 66 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 2147483644 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %44 = neura.reserve {dfg_id = 3 : i32} : !neura.data +// MAPPING-NEXT: %45 = "neura.data_mov"(%41) {dfg_id = 58 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 6 : i32}, {id = 4001 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 7 : i32}, {id = 4001 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 4001 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 4001 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 4001 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %46 = neura.phi_start %45, %44 {dfg_id = 65 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %47 = neura.reserve {dfg_id = 4 : i32} : !neura.data +// MAPPING-NEXT: %48 = "neura.data_mov"(%43) {dfg_id = 79 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %49 = neura.phi_start %48, %47 {dfg_id = 92 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %50 = neura.reserve {dfg_id = 5 : i32} : !neura.data +// MAPPING-NEXT: %51 = "neura.data_mov"(%41) {dfg_id = 57 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %52 = neura.phi_start %51, %50 {dfg_id = 64 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %53 = neura.reserve {dfg_id = 6 : i32} : !neura.data +// MAPPING-NEXT: %54 = "neura.data_mov"(%41) {dfg_id = 56 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 6 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}, {id = 10 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %55 = neura.phi_start %54, %53 {dfg_id = 63 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %56 = "neura.data_mov"(%55) {dfg_id = 75 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 8 : i32}, {id = 14 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 20 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 320 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 320 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 320 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}, {id = 320 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 320 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 320 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %57 = "neura.gep"(%56) <{operandSegmentSizes = array}> {dfg_id = 90 : i32, lhs_value = "%arg1", mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %58 = "neura.data_mov"(%57) {dfg_id = 107 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 19 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 2000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %59 = "neura.load"(%58) {dfg_id = 124 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %60 = "neura.data_mov"(%55) {dfg_id = 74 : i32, mapping_locs = [{id = 163 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 8 : i32}, {id = 163 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 163 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 163 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 163 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 163 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %61 = "neura.gep"(%60) <{operandSegmentSizes = array}> {dfg_id = 89 : i32, lhs_value = "%arg2", mapping_locs = [{id = 5 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %62 = "neura.data_mov"(%61) {dfg_id = 106 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 4000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %63 = "neura.load"(%62) {dfg_id = 123 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %64 = "neura.data_mov"(%63) {dfg_id = 137 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 4000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %65 = neura.sext %64 {dfg_id = 154 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %66 = "neura.data_mov"(%65) {dfg_id = 168 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %67 = "neura.gep"(%66) <{operandSegmentSizes = array}> {dfg_id = 182 : i32, lhs_value = "%arg4", mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %68 = "neura.data_mov"(%67) {dfg_id = 197 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 8000 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %69 = "neura.load"(%68) {dfg_id = 211 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %70 = "neura.data_mov"(%69) {dfg_id = 224 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 288 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %71 = "neura.data_mov"(%59) {dfg_id = 138 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 4 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 16 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %72 = "neura.mul"(%70, %71) {dfg_id = 233 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %73 = "neura.data_mov"(%55) {dfg_id = 73 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 4003 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 9 : i32}, {id = 4003 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 10 : i32}, {id = 4003 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 4003 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 4003 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 4003 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %74 = "neura.gep"(%73) <{operandSegmentSizes = array}> {dfg_id = 88 : i32, lhs_value = "%arg3", mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %75 = "neura.data_mov"(%74) {dfg_id = 105 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %76 = "neura.load"(%75) {dfg_id = 122 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %77 = "neura.data_mov"(%76) {dfg_id = 136 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %78 = neura.sext %77 {dfg_id = 153 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 3 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %79 = "neura.data_mov"(%78) {dfg_id = 167 : i32, mapping_locs = [{id = 12001 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 17 : i32}, {id = 12001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %80 = "neura.gep"(%79) <{operandSegmentSizes = array}> {dfg_id = 181 : i32, lhs_value = "%arg5", mapping_locs = [{id = 12 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %81 = "neura.data_mov"(%80) {dfg_id = 196 : i32, mapping_locs = [{id = 39 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 8001 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 8001 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %82 = "neura.load"(%81) {dfg_id = 210 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %83 = "neura.data_mov"(%82) {dfg_id = 223 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 288 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %84 = "neura.data_mov"(%72) {dfg_id = 242 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %85 = "neura.add"(%83, %84) {dfg_id = 251 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %86 = "neura.data_mov"(%85) {dfg_id = 260 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %87 = "neura.data_mov"(%80) {dfg_id = 195 : i32, mapping_locs = [{id = 12003 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 39 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 8004 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 8004 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 8004 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 8004 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%86, %87) {dfg_id = 270 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 25 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %88 = "neura.data_mov"(%55) {dfg_id = 72 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 288 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 288 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 288 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 288 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %89 = "neura.or"(%88) {dfg_id = 87 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 2 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %90 = "neura.data_mov"(%89) {dfg_id = 104 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 416 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}, {id = 416 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 416 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %91 = "neura.gep"(%90) <{operandSegmentSizes = array}> {dfg_id = 121 : i32, lhs_value = "%arg1", mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %92 = "neura.data_mov"(%91) {dfg_id = 135 : i32, mapping_locs = [{id = 40 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 12000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 12000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %93 = "neura.load"(%92) {dfg_id = 152 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %94 = "neura.data_mov"(%89) {dfg_id = 103 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %95 = "neura.gep"(%94) <{operandSegmentSizes = array}> {dfg_id = 120 : i32, lhs_value = "%arg2", mapping_locs = [{id = 9 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %96 = "neura.data_mov"(%95) {dfg_id = 134 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %97 = "neura.load"(%96) {dfg_id = 151 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %98 = "neura.data_mov"(%97) {dfg_id = 165 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %99 = neura.sext %98 {dfg_id = 180 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 3 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %100 = "neura.data_mov"(%99) {dfg_id = 194 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 12000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %101 = "neura.gep"(%100) <{operandSegmentSizes = array}> {dfg_id = 209 : i32, lhs_value = "%arg4", mapping_locs = [{id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %102 = "neura.data_mov"(%101) {dfg_id = 222 : i32, mapping_locs = [{id = 12002 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 12002 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 12002 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %103 = "neura.load"(%102) {dfg_id = 232 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %104 = "neura.data_mov"(%103) {dfg_id = 241 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}, {id = 12000 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %105 = "neura.data_mov"(%93) {dfg_id = 166 : i32, mapping_locs = [{id = 12003 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 12003 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 12003 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %106 = "neura.mul"(%104, %105) {dfg_id = 250 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %107 = "neura.data_mov"(%89) {dfg_id = 102 : i32, mapping_locs = [{id = 289 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 289 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %108 = "neura.gep"(%107) <{operandSegmentSizes = array}> {dfg_id = 119 : i32, lhs_value = "%arg3", mapping_locs = [{id = 9 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %109 = "neura.data_mov"(%108) {dfg_id = 133 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 8000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %110 = "neura.load"(%109) {dfg_id = 150 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %111 = "neura.data_mov"(%110) {dfg_id = 164 : i32, mapping_locs = [{id = 24 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %112 = neura.sext %111 {dfg_id = 179 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %113 = "neura.data_mov"(%112) {dfg_id = 193 : i32, mapping_locs = [{id = 288 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %114 = "neura.gep"(%113) <{operandSegmentSizes = array}> {dfg_id = 208 : i32, lhs_value = "%arg5", mapping_locs = [{id = 9 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %115 = "neura.data_mov"(%114) {dfg_id = 221 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 8002 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 8002 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 8002 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %116 = "neura.load"(%115) {dfg_id = 231 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %117 = "neura.data_mov"(%116) {dfg_id = 240 : i32, mapping_locs = [{id = 26 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %118 = "neura.data_mov"(%106) {dfg_id = 259 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %119 = "neura.add"(%117, %118) {dfg_id = 269 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %120 = "neura.data_mov"(%119) {dfg_id = 277 : i32, mapping_locs = [{id = 12000 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %121 = "neura.data_mov"(%114) {dfg_id = 220 : i32, mapping_locs = [{id = 30 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 40 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 12002 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 12002 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}, {id = 12002 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 12002 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%120, %121) {dfg_id = 286 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 25 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %122 = "neura.data_mov"(%55) {dfg_id = 71 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 193 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 193 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 193 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 193 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %123 = "neura.or"(%122) {dfg_id = 86 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 2 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %124 = "neura.data_mov"(%123) {dfg_id = 101 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 23 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 352 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 352 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %125 = "neura.gep"(%124) <{operandSegmentSizes = array}> {dfg_id = 118 : i32, lhs_value = "%arg1", mapping_locs = [{id = 11 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %126 = "neura.data_mov"(%125) {dfg_id = 132 : i32, mapping_locs = [{id = 36 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 22 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 3000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 3000 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %127 = "neura.load"(%126) {dfg_id = 149 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %128 = "neura.data_mov"(%123) {dfg_id = 100 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %129 = "neura.gep"(%128) <{operandSegmentSizes = array}> {dfg_id = 117 : i32, lhs_value = "%arg2", mapping_locs = [{id = 6 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %130 = "neura.data_mov"(%129) {dfg_id = 131 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 2000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %131 = "neura.load"(%130) {dfg_id = 148 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %132 = "neura.data_mov"(%131) {dfg_id = 162 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %133 = neura.sext %132 {dfg_id = 178 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %134 = "neura.data_mov"(%133) {dfg_id = 192 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %135 = "neura.gep"(%134) <{operandSegmentSizes = array}> {dfg_id = 207 : i32, lhs_value = "%arg4", mapping_locs = [{id = 10 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %136 = "neura.data_mov"(%135) {dfg_id = 219 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 19 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 2000 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %137 = "neura.load"(%136) {dfg_id = 230 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %138 = "neura.data_mov"(%137) {dfg_id = 239 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %139 = "neura.data_mov"(%127) {dfg_id = 163 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %140 = "neura.mul"(%138, %139) {dfg_id = 249 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %141 = "neura.data_mov"(%123) {dfg_id = 99 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 193 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %142 = "neura.gep"(%141) <{operandSegmentSizes = array}> {dfg_id = 116 : i32, lhs_value = "%arg3", mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %143 = "neura.data_mov"(%142) {dfg_id = 130 : i32, mapping_locs = [{id = 18 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 22 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %144 = "neura.load"(%143) {dfg_id = 147 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %145 = "neura.data_mov"(%144) {dfg_id = 161 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %146 = neura.sext %145 {dfg_id = 177 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 1 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %147 = "neura.data_mov"(%146) {dfg_id = 191 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %148 = "neura.gep"(%147) <{operandSegmentSizes = array}> {dfg_id = 206 : i32, lhs_value = "%arg5", mapping_locs = [{id = 7 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %149 = "neura.data_mov"(%148) {dfg_id = 218 : i32, mapping_locs = [{id = 22 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 3001 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 3001 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}, {id = 3001 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 22 : i32}, {id = 3001 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %150 = "neura.load"(%149) {dfg_id = 229 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %151 = "neura.data_mov"(%150) {dfg_id = 238 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %152 = "neura.data_mov"(%140) {dfg_id = 258 : i32, mapping_locs = [{id = 3003 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 3003 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}, {id = 3003 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %153 = "neura.add"(%151, %152) {dfg_id = 268 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 25 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %154 = "neura.data_mov"(%153) {dfg_id = 276 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 25 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %155 = "neura.data_mov"(%148) {dfg_id = 217 : i32, mapping_locs = [{id = 224 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 22 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 3004 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 3004 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 3004 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 3004 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 3004 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%154, %155) {dfg_id = 285 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 26 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %156 = "neura.data_mov"(%55) {dfg_id = 70 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 1002 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 1002 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 1002 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 1002 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %157 = "neura.or"(%156) {dfg_id = 85 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 3 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %158 = "neura.data_mov"(%157) {dfg_id = 98 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 14 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}, {id = 18 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %159 = "neura.gep"(%158) <{operandSegmentSizes = array}> {dfg_id = 115 : i32, lhs_value = "%arg1", mapping_locs = [{id = 7 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 3 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %160 = "neura.data_mov"(%159) {dfg_id = 129 : i32, mapping_locs = [{id = 22 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}, {id = 3001 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 18 : i32}, {id = 3001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %161 = "neura.load"(%160) {dfg_id = 146 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %162 = "neura.data_mov"(%157) {dfg_id = 97 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %163 = "neura.gep"(%162) <{operandSegmentSizes = array}> {dfg_id = 114 : i32, lhs_value = "%arg2", mapping_locs = [{id = 1 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %164 = "neura.data_mov"(%163) {dfg_id = 128 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}, {id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %165 = "neura.load"(%164) {dfg_id = 145 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %166 = "neura.data_mov"(%165) {dfg_id = 159 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 1000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %167 = neura.sext %166 {dfg_id = 176 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %168 = "neura.data_mov"(%167) {dfg_id = 190 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %169 = "neura.gep"(%168) <{operandSegmentSizes = array}> {dfg_id = 205 : i32, lhs_value = "%arg4", mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %170 = "neura.data_mov"(%169) {dfg_id = 216 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 1000 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %171 = "neura.load"(%170) {dfg_id = 228 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %172 = "neura.data_mov"(%171) {dfg_id = 237 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 2000 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %173 = "neura.data_mov"(%161) {dfg_id = 160 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}, {id = 2002 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 2002 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %174 = "neura.mul"(%172, %173) {dfg_id = 248 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %175 = "neura.data_mov"(%157) {dfg_id = 96 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}, {id = 2000 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %176 = "neura.gep"(%175) <{operandSegmentSizes = array}> {dfg_id = 113 : i32, lhs_value = "%arg3", mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %177 = "neura.data_mov"(%176) {dfg_id = 127 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %178 = "neura.load"(%177) {dfg_id = 144 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %179 = "neura.data_mov"(%178) {dfg_id = 158 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 16 : i32}, {id = 3000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %180 = neura.sext %179 {dfg_id = 175 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 3 : i32, y = 0 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %181 = "neura.data_mov"(%180) {dfg_id = 189 : i32, mapping_locs = [{id = 3000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %182 = "neura.gep"(%181) <{operandSegmentSizes = array}> {dfg_id = 204 : i32, lhs_value = "%arg5", mapping_locs = [{id = 3 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %183 = "neura.data_mov"(%182) {dfg_id = 215 : i32, mapping_locs = [{id = 3002 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 3002 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 3002 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 3002 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %184 = "neura.load"(%183) {dfg_id = 227 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 3 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %185 = "neura.data_mov"(%184) {dfg_id = 236 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}, {id = 2000 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %186 = "neura.data_mov"(%174) {dfg_id = 257 : i32, mapping_locs = [{id = 2002 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 23 : i32}, {id = 2002 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %187 = "neura.add"(%185, %186) {dfg_id = 267 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 25 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %188 = "neura.data_mov"(%187) {dfg_id = 275 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 25 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %189 = "neura.data_mov"(%182) {dfg_id = 214 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 2004 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 2004 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 2004 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 2004 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 2004 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 2004 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%188, %189) {dfg_id = 284 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 26 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %190 = "neura.data_mov"(%55) {dfg_id = 69 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %191 = "neura.add"(%190) {dfg_id = 84 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 9 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %192 = "neura.data_mov"(%52) {dfg_id = 76 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 7 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %193 = "neura.add"(%192) {dfg_id = 91 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 8 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 4 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %194 = "neura.data_mov"(%193) {dfg_id = 109 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 160 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %195 = "neura.data_mov"(%49) {dfg_id = 111 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 8 : i32}, {id = 4 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %196 = "neura.icmp"(%194, %195) <{cmpType = "eq"}> {dfg_id = 125 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %197 = "neura.data_mov"(%196) {dfg_id = 141 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %198 = "neura.not"(%197) {dfg_id = 157 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %199 = "neura.data_mov"(%191) {dfg_id = 95 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}, {id = 16 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 291 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 11 : i32}, {id = 291 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 12 : i32}, {id = 291 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 13 : i32}, {id = 291 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 14 : i32}, {id = 291 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 15 : i32}, {id = 291 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 16 : i32}, {id = 291 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 17 : i32}, {id = 291 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 18 : i32}, {id = 291 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 19 : i32}, {id = 291 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %200 = "neura.data_mov"(%198) {dfg_id = 174 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 292 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 292 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 292 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 292 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 292 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 292 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 292 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 292 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 292 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %201 = neura.grant_predicate %199, %200 {dfg_id = 188 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 1 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %201 -> %53 {dfg_id = 203 : i32, mapping_locs = [{id = 29 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 160 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 22 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %202 = "neura.data_mov"(%193) {dfg_id = 108 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 192 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}, {id = 192 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 192 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %203 = "neura.data_mov"(%198) {dfg_id = 173 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %204 = neura.grant_predicate %202, %203 {dfg_id = 187 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %204 -> %50 {dfg_id = 202 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 162 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 162 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 162 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 162 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 162 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 162 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 162 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 162 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 162 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %205 = "neura.data_mov"(%49) {dfg_id = 110 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 8 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 8 : i32}, {id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 1000 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}, {id = 1000 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %206 = "neura.data_mov"(%198) {dfg_id = 172 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %207 = neura.grant_predicate %205, %206 {dfg_id = 186 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %207 -> %47 {dfg_id = 201 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 2 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 13 : i32}, {id = 2 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 14 : i32}, {id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 15 : i32}, {id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 16 : i32}, {id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 17 : i32}, {id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 18 : i32}, {id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 2 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}, {id = 2 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 21 : i32}, {id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 22 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %208 = "neura.data_mov"(%46) {dfg_id = 78 : i32, mapping_locs = [{id = 4005 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 4005 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 4005 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 4005 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 4005 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 4005 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 4005 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 4005 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 4005 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 4005 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 4005 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %209 = "neura.data_mov"(%198) {dfg_id = 171 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 4006 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 12 : i32}, {id = 4006 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 13 : i32}, {id = 4006 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 14 : i32}, {id = 4006 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 15 : i32}, {id = 4006 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 16 : i32}, {id = 4006 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 17 : i32}, {id = 4006 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 18 : i32}, {id = 4006 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 19 : i32}, {id = 4006 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 20 : i32}, {id = 4006 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 21 : i32}, {id = 4006 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 22 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %210 = neura.grant_predicate %208, %209 {dfg_id = 185 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 23 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %210 -> %44 {dfg_id = 200 : i32, mapping_locs = [{id = 4000 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}, {id = 4000 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}, {id = 4000 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 25 : i32}, {id = 4000 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 26 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %211 = "neura.data_mov"(%191) {dfg_id = 94 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 9 : i32}, {id = 161 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 161 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %212 = "neura.data_mov"(%196) {dfg_id = 140 : i32, mapping_locs = [{id = 162 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 10 : i32}, {id = 162 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %213 = neura.grant_predicate %211, %212 {dfg_id = 156 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 12 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %214 = "neura.data_mov"(%46) {dfg_id = 77 : i32, mapping_locs = [{id = 4001 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %215 = "neura.data_mov"(%196) {dfg_id = 139 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 4002 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 11 : i32}, {id = 4002 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %216 = neura.grant_predicate %214, %215 {dfg_id = 155 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %217 = "neura.data_mov"(%33) {dfg_id = 49 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %218 = "neura.data_mov"(%216) {dfg_id = 169 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %219 = "neura.phi"(%217, %218) {dfg_id = 183 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %220 = "neura.data_mov"(%30) {dfg_id = 50 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 160 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 160 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %221 = "neura.data_mov"(%213) {dfg_id = 170 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %222 = "neura.phi"(%220, %221) {dfg_id = 184 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 13 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %223 = "neura.data_mov"(%25) {dfg_id = 52 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 9 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %224 = "neura.icmp"(%223) <{cmpType = "eq"}> {dfg_id = 55 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 10 : i32, x = 0 : i32, y = 0 : i32}], rhs_value = 0 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %225 = "neura.data_mov"(%224) {dfg_id = 61 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 10 : i32}, {id = 1004 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 1004 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 1004 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 1004 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 1004 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 1004 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}, {id = 1004 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 1004 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 1004 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 1004 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 1004 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %226 = "neura.data_mov"(%224) {dfg_id = 62 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 10 : i32}, {id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 1005 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 12 : i32}, {id = 1005 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 13 : i32}, {id = 1005 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 14 : i32}, {id = 1005 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 15 : i32}, {id = 1005 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 16 : i32}, {id = 1005 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 17 : i32}, {id = 1005 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 18 : i32}, {id = 1005 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 19 : i32}, {id = 1005 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 1005 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %227 = neura.grant_predicate %225, %226 {dfg_id = 68 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %228 = "neura.data_mov"(%224) {dfg_id = 60 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 10 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %229 = "neura.not"(%228) {dfg_id = 67 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 11 : i32, x = 0 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %230 = "neura.data_mov"(%222) {dfg_id = 199 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %231 = "neura.data_mov"(%229) {dfg_id = 82 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 11 : i32}, {id = 4000 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 12 : i32}, {id = 4000 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 13 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %232 = neura.grant_predicate %230, %231 {dfg_id = 213 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 14 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %233 = "neura.data_mov"(%219) {dfg_id = 198 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %234 = "neura.data_mov"(%229) {dfg_id = 81 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 11 : i32}, {id = 1 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 12 : i32}, {id = 1 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 1 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %235 = neura.grant_predicate %233, %234 {dfg_id = 212 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %236 = "neura.data_mov"(%25) {dfg_id = 51 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 9 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 9 : i32}, {id = 4004 : i32, index_per_ii = 10 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 10 : i32}, {id = 4004 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 11 : i32}, {id = 4004 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 12 : i32}, {id = 4004 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 13 : i32}, {id = 4004 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 14 : i32}, {id = 4004 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 15 : i32}, {id = 4004 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %237 = "neura.data_mov"(%229) {dfg_id = 80 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 11 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 11 : i32}, {id = 1 : i32, index_per_ii = 12 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 12 : i32}, {id = 4001 : i32, index_per_ii = 13 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 13 : i32}, {id = 4001 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 14 : i32}, {id = 4001 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 4001 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %238 = neura.grant_predicate %236, %237 {dfg_id = 93 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %239 = neura.reserve {dfg_id = 7 : i32} : !neura.data +// MAPPING-NEXT: %240 = "neura.data_mov"(%238) {dfg_id = 112 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %241 = neura.phi_start %240, %239 {dfg_id = 126 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %242 = neura.reserve {dfg_id = 8 : i32} : !neura.data +// MAPPING-NEXT: %243 = "neura.data_mov"(%235) {dfg_id = 225 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}, {id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %244 = neura.phi_start %243, %242 {dfg_id = 234 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %245 = neura.reserve {dfg_id = 9 : i32} : !neura.data +// MAPPING-NEXT: %246 = "neura.data_mov"(%232) {dfg_id = 226 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 14 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 14 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %247 = neura.phi_start %246, %245 {dfg_id = 235 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 15 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %248 = "neura.data_mov"(%247) {dfg_id = 247 : i32, mapping_locs = [{id = 161 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 15 : i32}, {id = 16 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 30 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %249 = "neura.gep"(%248) <{operandSegmentSizes = array}> {dfg_id = 256 : i32, lhs_value = "%arg1", mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 1 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %250 = "neura.data_mov"(%249) {dfg_id = 266 : i32, mapping_locs = [{id = 40 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 12001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 12001 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 12001 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %251 = "neura.load"(%250) {dfg_id = 274 : i32, mapping_locs = [{id = 12 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 0 : i32, y = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %252 = "neura.data_mov"(%247) {dfg_id = 246 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %253 = "neura.gep"(%252) <{operandSegmentSizes = array}> {dfg_id = 255 : i32, lhs_value = "%arg2", mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %254 = "neura.data_mov"(%253) {dfg_id = 265 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %255 = "neura.load"(%254) {dfg_id = 273 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 17 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %256 = "neura.data_mov"(%255) {dfg_id = 282 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %257 = neura.sext %256 {dfg_id = 290 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 0 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %258 = "neura.data_mov"(%257) {dfg_id = 296 : i32, mapping_locs = [{id = 2000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %259 = "neura.gep"(%258) <{operandSegmentSizes = array}> {dfg_id = 302 : i32, lhs_value = "%arg4", mapping_locs = [{id = 2 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %260 = "neura.data_mov"(%259) {dfg_id = 309 : i32, mapping_locs = [{id = 2001 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 2001 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}, {id = 2001 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %261 = "neura.load"(%260) {dfg_id = 312 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %262 = "neura.data_mov"(%261) {dfg_id = 314 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 4 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}, {id = 16 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %263 = "neura.data_mov"(%251) {dfg_id = 283 : i32, mapping_locs = [{id = 38 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 42 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 23 : i32}, {id = 289 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %264 = "neura.mul"(%262, %263) {dfg_id = 315 : i32, mapping_locs = [{id = 9 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 25 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %265 = "neura.data_mov"(%247) {dfg_id = 245 : i32, mapping_locs = [{id = 16 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %266 = "neura.gep"(%265) <{operandSegmentSizes = array}> {dfg_id = 254 : i32, lhs_value = "%arg3", mapping_locs = [{id = 9 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %267 = "neura.data_mov"(%266) {dfg_id = 264 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 8000 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %268 = "neura.load"(%267) {dfg_id = 272 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %269 = "neura.data_mov"(%268) {dfg_id = 281 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %270 = neura.sext %269 {dfg_id = 289 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 0 : i32, y = 2 : i32}]} : !neura.data -> !neura.data +// MAPPING-NEXT: %271 = "neura.data_mov"(%270) {dfg_id = 295 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %272 = "neura.gep"(%271) <{operandSegmentSizes = array}> {dfg_id = 301 : i32, lhs_value = "%arg5", mapping_locs = [{id = 8 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %273 = "neura.data_mov"(%272) {dfg_id = 308 : i32, mapping_locs = [{id = 8003 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 8003 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}, {id = 8003 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 8003 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %274 = "neura.load"(%273) {dfg_id = 311 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %275 = "neura.data_mov"(%274) {dfg_id = 313 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 24 : i32}, {id = 8000 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 25 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %276 = "neura.data_mov"(%264) {dfg_id = 316 : i32, mapping_locs = [{id = 27 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 25 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %277 = "neura.add"(%275, %276) {dfg_id = 317 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 26 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %278 = "neura.data_mov"(%277) {dfg_id = 318 : i32, mapping_locs = [{id = 8000 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 26 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %279 = "neura.data_mov"(%272) {dfg_id = 307 : i32, mapping_locs = [{id = 8005 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 8005 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 8005 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 8005 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 8005 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 8005 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 8005 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: "neura.store"(%278, %279) {dfg_id = 319 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 27 : i32, x = 0 : i32, y = 2 : i32}]} : (!neura.data, !neura.data) -> () +// MAPPING-NEXT: %280 = "neura.data_mov"(%247) {dfg_id = 244 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 15 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %281 = "neura.add"(%280) {dfg_id = 253 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 16 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %282 = "neura.data_mov"(%244) {dfg_id = 243 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 17 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %283 = "neura.add"(%282) {dfg_id = 252 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 18 : i32, x = 2 : i32, y = 1 : i32}], rhs_value = 1 : i64} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %284 = "neura.data_mov"(%283) {dfg_id = 262 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %285 = "neura.data_mov"(%241) {dfg_id = 143 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %286 = "neura.icmp"(%284, %285) <{cmpType = "eq"}> {dfg_id = 271 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 19 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %287 = "neura.data_mov"(%286) {dfg_id = 280 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %288 = "neura.not"(%287) {dfg_id = 288 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 20 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %289 = "neura.data_mov"(%281) {dfg_id = 263 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 16 : i32}, {id = 196 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 17 : i32}, {id = 196 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 18 : i32}, {id = 196 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 19 : i32}, {id = 196 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 20 : i32}, {id = 196 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 21 : i32}, {id = 196 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 22 : i32}, {id = 196 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %290 = "neura.data_mov"(%288) {dfg_id = 294 : i32, mapping_locs = [{id = 197 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 20 : i32}, {id = 197 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 21 : i32}, {id = 197 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 22 : i32}, {id = 197 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %291 = neura.grant_predicate %289, %290 {dfg_id = 300 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %291 -> %245 {dfg_id = 306 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 24 : i32}, {id = 166 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 25 : i32}, {id = 166 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 26 : i32}, {id = 166 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 27 : i32}, {id = 166 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 28 : i32}, {id = 166 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 6 : i32, resource = "register", time_step = 29 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %292 = "neura.data_mov"(%283) {dfg_id = 261 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 18 : i32}, {id = 320 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 19 : i32}, {id = 320 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %293 = "neura.data_mov"(%288) {dfg_id = 293 : i32, mapping_locs = [{id = 20 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %294 = neura.grant_predicate %292, %293 {dfg_id = 299 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 2 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %294 -> %242 {dfg_id = 305 : i32, mapping_locs = [{id = 31 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 29 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 165 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 23 : i32}, {id = 165 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 24 : i32}, {id = 165 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 25 : i32}, {id = 165 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 26 : i32}, {id = 165 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 27 : i32}, {id = 165 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 28 : i32}, {id = 165 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 29 : i32}, {id = 165 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 30 : i32}, {id = 165 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 5 : i32, resource = "register", time_step = 31 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %295 = "neura.data_mov"(%241) {dfg_id = 142 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 18 : i32}, {id = 14 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 19 : i32}, {id = 192 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 20 : i32}, {id = 192 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %296 = "neura.data_mov"(%288) {dfg_id = 292 : i32, mapping_locs = [{id = 195 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 20 : i32}, {id = 195 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 21 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %297 = neura.grant_predicate %295, %296 {dfg_id = 298 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 22 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: neura.ctrl_mov %297 -> %239 {dfg_id = 304 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 164 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 23 : i32}, {id = 164 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 24 : i32}, {id = 164 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 25 : i32}, {id = 164 : i32, index_per_ii = 11 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 26 : i32}, {id = 164 : i32, index_per_ii = 12 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 27 : i32}, {id = 164 : i32, index_per_ii = 13 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 28 : i32}, {id = 164 : i32, index_per_ii = 14 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 29 : i32}, {id = 164 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 30 : i32}, {id = 164 : i32, index_per_ii = 1 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 31 : i32}, {id = 164 : i32, index_per_ii = 2 : i32, invalid_iterations = 2 : i32, per_tile_register_id = 4 : i32, resource = "register", time_step = 32 : i32}]} : !neura.data !neura.data +// MAPPING-NEXT: %298 = "neura.data_mov"(%286) {dfg_id = 278 : i32, mapping_locs = [{id = 193 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 19 : i32}, {id = 193 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %299 = "neura.data_mov"(%286) {dfg_id = 279 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 4 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 19 : i32}, {id = 194 : i32, index_per_ii = 5 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 20 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %300 = neura.grant_predicate %298, %299 {dfg_id = 287 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 21 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPING-NEXT: %301 = "neura.data_mov"(%21) {dfg_id = 37 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 19 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 2000 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %302 = "neura.data_mov"(%227) {dfg_id = 83 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 22 : i32}, {id = 2001 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %303 = "neura.data_mov"(%300) {dfg_id = 291 : i32, mapping_locs = [{id = 19 : i32, index_per_ii = 6 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 21 : i32}, {id = 2003 : i32, index_per_ii = 7 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 22 : i32}, {id = 2003 : i32, index_per_ii = 8 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 3 : i32, resource = "register", time_step = 23 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: %304 = "neura.phi"(%301, %302, %303) {dfg_id = 297 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 24 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data, !neura.data, !neura.data) -> !neura.data +// MAPPING-NEXT: %305 = "neura.data_mov"(%304) {dfg_id = 303 : i32, mapping_locs = [{id = 7 : i32, index_per_ii = 9 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 24 : i32}]} : (!neura.data) -> !neura.data +// MAPPING-NEXT: neura.return_void %305 : !neura.data {dfg_id = 310 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 10 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 25 : i32, x = 2 : i32, y = 1 : i32}]} +// MAPPING-NEXT: neura.yield {dfg_id = 10 : i32} +// MAPPING-NEXT: } + + // YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 @@ -368,7 +369,7 @@ // YAML-NEXT: - operand: "$1" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: -// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" // YAML-NEXT: - opcode: "DATA_MOV" // YAML-NEXT: id: 128 @@ -392,56 +393,3440 @@ // YAML-NEXT: dst_operands: // YAML-NEXT: - operand: "EAST" // YAML-NEXT: color: "RED" -// -// ASM: # Compiled II: 15 -// ASM: PE(0,0): -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED] (t=15, inv_iters=1) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=15, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=0) -// ASM-NEXT: { -// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=16, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=1) -// ASM-NEXT: { -// ASM-NEXT: GRANT_ONCE, [arg0] -> [$0] (t=2, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=2) -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [$1], [$0] (t=3, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=3) -// ASM-NEXT: { -// ASM-NEXT: ICMP_ULT, [$0], [#4] -> [EAST, RED], [$3], [NORTH, RED] (t=4, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=4) -// ASM-NEXT: { -// ASM-NEXT: ZEXT, [$1] -> [$1], [$0] (t=5, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=5) -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [$0] (t=6, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=6) -// ASM-NEXT: { -// ASM-NEXT: AND, [$0], [#2147483644] -> [$0] (t=7, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=7) -// ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$2] -> [EAST, RED], [$0] (t=8, inv_iters=0) -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$2] (t=8, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=8) -// ASM-NEXT: { -// ASM-NEXT: AND, [$1], [#3] -> [$0], [$1] (t=9, inv_iters=0) -// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=9, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=9) -// ASM-NEXT: { -// ASM-NEXT: ICMP_EQ, [$0], [#0] -> [NORTH, RED], [$0] (t=10, inv_iters=0) -// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=10, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=10) -// ASM-NEXT: { -// ASM-NEXT: NOT, [$0] -> [NORTH, RED], [$1], [EAST, RED] (t=11, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=11) -// ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=12, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=12) -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [$0] (t=13, inv_iters=0) -// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$2] (t=13, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=13) -// ASM-NEXT: { -// ASM-NEXT: PHI, [$0], [NORTH, RED] -> [$0] (t=14, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=14) \ No newline at end of file +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 0 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 150001 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 26 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_ULT" +// YAML-NEXT: id: 35 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ZEXT" +// YAML-NEXT: id: 36 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 54 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "AND" +// YAML-NEXT: id: 66 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#2147483644" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 92 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 30 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "AND" +// YAML-NEXT: id: 46 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1100000 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 55 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 67 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 620000 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 800000 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 44 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 201 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI" +// YAML-NEXT: id: 183 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "1" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CONSTANT" +// YAML-NEXT: id: 1 +// YAML-NEXT: time_step: 0 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_SGT" +// YAML-NEXT: id: 14 +// YAML-NEXT: time_step: 1 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2250001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 18 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 159 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 150002 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 176 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 205 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 40 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 24 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 31 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 228 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1380001 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 68 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3140001 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 70 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1110001 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 45 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 110 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 61 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 186 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 62 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "OR" +// YAML-NEXT: id: 85 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 114 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "2" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 113 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 131 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 148 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 273 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 290 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 302 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 107 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 124 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 219 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 214 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 230 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 160 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 312 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 237 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 291 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 248 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 37 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 83 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI" +// YAML-NEXT: id: 297 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 236 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 267 +// YAML-NEXT: time_step: 25 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 284 +// YAML-NEXT: time_step: 26 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 96 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 0 +// YAML-NEXT: core_id: "3" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 144 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 147 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 175 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 129 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 204 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 132 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 146 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 218 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 149 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 217 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 249 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 227 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 229 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 268 +// YAML-NEXT: time_step: 25 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 285 +// YAML-NEXT: time_step: 26 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "4" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 88 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 106 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 123 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 93 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 154 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 182 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 43 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 53 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 300001 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 560000 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 185 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 73 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 51 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 139 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 65 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 171 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 82 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 155 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 80 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 213 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "5" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 235 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 253 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2470000 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 234 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 21 +// YAML-NEXT: time_step: 3 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 126 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 2 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "#0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 150003 +// YAML-NEXT: time_step: 4 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1420000 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 25 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 300000 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 34 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 64 +// YAML-NEXT: time_step: 7 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1380002 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 203 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 63 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 305 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 304 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 84 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 750000 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 109 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 3140002 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 125 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 950000 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 306 +// YAML-NEXT: time_step: 25 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$6" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 157 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 50 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 156 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI" +// YAML-NEXT: id: 184 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 202 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 89 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 980001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "6" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 116 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 255 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 980002 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 178 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 263 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 252 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1070001 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ICMP_EQ" +// YAML-NEXT: id: 271 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2190001 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 288 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 142 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 287 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 298 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 370001 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 91 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 71 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 300 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 750001 +// YAML-NEXT: time_step: 10 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "RETURN_VOID" +// YAML-NEXT: id: 310 +// YAML-NEXT: time_step: 25 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 187 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "OR" +// YAML-NEXT: id: 86 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 117 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 1 +// YAML-NEXT: core_id: "7" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1300001 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 115 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 177 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1320001 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 206 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2170000 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1010001 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "8" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 151 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 122 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 133 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 150 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 264 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 272 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 289 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 301 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 197 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 196 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 221 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 211 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 195 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 210 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 231 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 311 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 270 +// YAML-NEXT: time_step: 25 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 317 +// YAML-NEXT: time_step: 26 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 319 +// YAML-NEXT: time_step: 27 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$5" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "9" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 119 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 254 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "NOT" +// YAML-NEXT: id: 17 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2470001 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 179 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 208 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 15 +// YAML-NEXT: time_step: 5 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 270001 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 188 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 224 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 3050001 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 233 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 223 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 72 +// YAML-NEXT: time_step: 9 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 251 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 283 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 315 +// YAML-NEXT: time_step: 25 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 95 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 174 +// YAML-NEXT: time_step: 12 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "OR" +// YAML-NEXT: id: 87 +// YAML-NEXT: time_step: 13 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 120 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 2 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "10" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 90 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 207 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 19 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_ONCE" +// YAML-NEXT: id: 23 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 261 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 299 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 75 +// YAML-NEXT: time_step: 11 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 3 +// YAML-NEXT: row: 2 +// YAML-NEXT: core_id: "11" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 0 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 101 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 118 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 0 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "12" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 180 +// YAML-NEXT: time_step: 16 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "SEXT" +// YAML-NEXT: id: 153 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 209 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 135 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 181 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 266 +// YAML-NEXT: time_step: 19 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 152 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1950000 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 232 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 220 +// YAML-NEXT: time_step: 21 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 7 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 274 +// YAML-NEXT: time_step: 22 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$1" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 250 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 269 +// YAML-NEXT: time_step: 24 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 10 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 286 +// YAML-NEXT: time_step: 25 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - column: 1 +// YAML-NEXT: row: 3 +// YAML-NEXT: core_id: "13" +// YAML-NEXT: entries: +// YAML-NEXT: - entry_id: "entry0" +// YAML-NEXT: instructions: +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 121 +// YAML-NEXT: time_step: 17 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 256 +// YAML-NEXT: time_step: 18 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2200001 +// YAML-NEXT: time_step: 20 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2830001 +// YAML-NEXT: time_step: 23 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 14 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 104 +// YAML-NEXT: time_step: 14 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" + + +// ASM: # Compiled II: 15 +// ASM: PE(0,0): +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [arg0] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [EAST, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [EAST, RED] -> [$1], [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: ICMP_ULT, [$0], [#4] -> [EAST, RED], [$3], [NORTH, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: ZEXT, [$1] -> [$1], [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: AND, [$0], [#2147483644] -> [$0] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$0], [$2] -> [EAST, RED], [$0] (t=8, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$2] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: AND, [$1], [#3] -> [$0], [NORTH, RED] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [#0] -> [EAST, RED], [$1], [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [NORTH, RED], [$1], [$0] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [$0] (t=13, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$2] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: PHI, [$0], [NORTH, RED] -> [$0] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(1,0): +// ASM-NEXT: { +// ASM-NEXT: CONSTANT, [arg0] -> [$0] (t=0, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: ICMP_SGT, [$0], [#0] -> [$0], [WEST, RED] (t=1, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [$0] -> [WEST, RED], [NORTH, RED], [$3] (t=2, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=3, inv_iters=0) +// ASM-NEXT: SEXT, [$0] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=5, inv_iters=0) +// ASM-NEXT: NOT, [$3] -> [NORTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=6, inv_iters=0) +// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$4], [$5] -> [EAST, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$2] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [NORTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$4] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [NORTH, RED] -> [WEST, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$5] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: OR, [$2], [#3] -> [NORTH, RED], [$0], [EAST, RED] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [WEST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(2,0): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [$0] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [$1] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$4] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$1] -> [WEST, RED] (t=22, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=22, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$3] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [$2] -> [$2] (t=23, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=23, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: PHI, [$0], [$1], [$3] -> [NORTH, RED] (t=24, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [$2] -> [$0] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$4] (t=26, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(3,0): +// ASM-NEXT: { +// ASM-NEXT: LOAD, [WEST, RED] -> [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [NORTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [$0] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [$2], [WEST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$1] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$0] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$4] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: MUL, [WEST, RED], [$0] -> [$3] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$2] -> [WEST, RED] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$1] -> [$0] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [$3] -> [$0] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$4] (t=26, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$3] -> [NORTH, RED] (t=15, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$4], [$1] -> [EAST, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [$0] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [NORTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: NOT, [SOUTH, RED] -> [SOUTH, RED], [$0] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [$1], [EAST, RED], [$0] (t=6, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=7, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$5], [$6] -> [$0] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$3] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$4] (t=10, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [$1], [$0] -> [$5], [$1] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$6] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [SOUTH, RED] (t=13, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [EAST, RED], [$0] -> [EAST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(1,1): +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [WEST, RED], [$6] -> [$1], [EAST, RED], [NORTH, RED], [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [EAST, RED] (t=16, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$1] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [SOUTH, RED], [$5] -> [EAST, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$1] (t=3, inv_iters=0) +// ASM-NEXT: PHI_START, [WEST, RED], [$4] -> [EAST, RED], [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [#0] -> [$0] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=4, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$1] -> [SOUTH, RED], [$0], [WEST, RED] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$0] -> [WEST, RED] (t=6, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [NORTH, RED], [SOUTH, RED] -> [EAST, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [WEST, RED], [$2] -> [EAST, RED] (t=7, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=22, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$0] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: PHI_START, [WEST, RED], [$0] -> [$1], [$3], [WEST, RED], [NORTH, RED], [EAST, RED], [SOUTH, RED], [$0] (t=8, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$5] (t=23, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$4] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#4] -> [$2], [$1] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$1] -> [EAST, RED] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [SOUTH, RED] -> [$0], [$2], [WEST, RED] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [$2] -> [NORTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$6] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [NORTH, RED], [EAST, RED], [SOUTH, RED], [WEST, RED] (t=11, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [$1] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: PHI, [$0], [$1] -> [WEST, RED] (t=13, inv_iters=0) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [$2] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$3] -> [WEST, RED] (t=14, inv_iters=0) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [EAST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(2,1): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$1] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GEP, [WEST, RED] -> [SOUTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [SOUTH, RED] -> [NORTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$4] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: ADD, [WEST, RED], [#1] -> [$0], [NORTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [WEST, RED] -> [$0], [$1], [$2] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [$5], [NORTH, RED], [$3] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$1], [$2] -> [SOUTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [$3] -> [WEST, RED] (t=22, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: ADD, [WEST, RED], [#4] -> [WEST, RED], [$0] (t=8, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=9, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$4], [$5] -> [WEST, RED] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: RETURN_VOID, [SOUTH, RED] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [WEST, RED] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: OR, [$1], [#2] -> [EAST, RED], [$0], [$1] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [SOUTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(3,1): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GEP, [WEST, RED] -> [SOUTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [SOUTH, RED] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [SOUTH, RED], [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [$0] -> [SOUTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(0,2): +// ASM-NEXT: { +// ASM-NEXT: LOAD, [EAST, RED] -> [NORTH, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [SOUTH, RED] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [$0] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [$3], [$5] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [EAST, RED] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$4] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$1] -> [EAST, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$2] -> [NORTH, RED] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$3] -> [$0] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: STORE, [EAST, RED], [$4] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [EAST, RED] -> [$0] (t=26, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$5] (t=27, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=12) +// ASM: PE(1,2): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$1] -> [WEST, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GEP, [SOUTH, RED] -> [WEST, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$2] -> [EAST, RED] (t=17, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [NORTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [WEST, RED] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [WEST, RED], [NORTH, RED] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$2] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$3], [$4] -> [SOUTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=22, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [SOUTH, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [SOUTH, RED] -> [$1] (t=23, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=9, inv_iters=0) +// ASM-NEXT: ADD, [$0], [$1] -> [WEST, RED] (t=24, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: MUL, [SOUTH, RED], [$1] -> [WEST, RED] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$3] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$4] (t=12, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: OR, [$0], [#1] -> [NORTH, RED], [$0], [$1] (t=13, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [WEST, RED] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) +// ASM: PE(2,2): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [SOUTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GEP, [SOUTH, RED] -> [SOUTH, RED] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GRANT_ONCE, [$0] -> [WEST, RED] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [SOUTH, RED] -> [WEST, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=11, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=11) +// ASM: PE(3,2): +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [SOUTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM: PE(0,3): +// ASM-NEXT: { +// ASM-NEXT: SEXT, [SOUTH, RED] -> [$0] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [SOUTH, RED] -> [$1] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [$2] (t=18, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$0] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: GEP, [$1] -> [SOUTH, RED], [$3] (t=19, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$1] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$3] (t=20, inv_iters=1) +// ASM-NEXT: DATA_MOV, [$3] -> [SOUTH, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$2] -> [$0] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [$2] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$1] -> [EAST, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [$3] -> [$0] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: ADD, [SOUTH, RED], [$0] -> [$0] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$2] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM: PE(1,3): +// ASM-NEXT: { +// ASM-NEXT: GEP, [$0] -> [WEST, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GEP, [SOUTH, RED] -> [WEST, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [WEST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [SOUTH, RED] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [SOUTH, RED] -> [$0] (t=14, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=14) + + diff --git a/test/multi-cgra/kernel_mapping/loop-in-kernel/loop-in-kernel.mlir b/test/multi-cgra/kernel_mapping/loop-in-kernel/loop-in-kernel.mlir index d6124058..0e9c0b38 100644 --- a/test/multi-cgra/kernel_mapping/loop-in-kernel/loop-in-kernel.mlir +++ b/test/multi-cgra/kernel_mapping/loop-in-kernel/loop-in-kernel.mlir @@ -74,7 +74,7 @@ module { } } -// NEURA: module { +// NEURA: module { // NEURA-NEXT: func.func @_Z6kernelPiS_S_(%arg0: memref, %arg1: memref, %arg2: memref) -> i32 attributes {llvm.linkage = #llvm.linkage} { // NEURA-NEXT: %c0_i32 = arith.constant 0 : i32 // NEURA-NEXT: %dependency_read_out:2, %value_outputs = taskflow.task @Task_o dependency_read_in(%arg0, %arg2 : memref, memref) value_inputs(%c0_i32 : i32) : (memref, memref, i32) -> (memref, memref, i32) { @@ -108,7 +108,7 @@ module { // NEURA-NEXT: } -// DATAFLOW: module { +// DATAFLOW: module { // DATAFLOW-NEXT: func.func @_Z6kernelPiS_S_(%arg0: memref, %arg1: memref, %arg2: memref) -> i32 attributes {llvm.linkage = #llvm.linkage} { // DATAFLOW-NEXT: %c0_i32 = arith.constant 0 : i32 // DATAFLOW-NEXT: %dependency_read_out:2, %value_outputs = taskflow.task @Task_o dependency_read_in(%arg0, %arg2 : memref, memref) value_inputs(%c0_i32 : i32) : (memref, memref, i32) -> (memref, memref, i32) { @@ -147,50 +147,50 @@ module { // DATAFLOW-NEXT: } -// MAPPED: module { +// MAPPED: module { // MAPPED-NEXT: func.func @_Z6kernelPiS_S_(%arg0: memref, %arg1: memref, %arg2: memref) -> i32 attributes {llvm.linkage = #llvm.linkage} { // MAPPED-NEXT: %c0_i32 = arith.constant 0 : i32 // MAPPED-NEXT: %dependency_read_out:2, %value_outputs = taskflow.task @Task_o dependency_read_in(%arg0, %arg2 : memref, memref) value_inputs(%c0_i32 : i32) : (memref, memref, i32) -> (memref, memref, i32) { // MAPPED-NEXT: ^bb0(%arg3: memref, %arg4: memref, %arg5: i32): -// MAPPED-NEXT: %0 = neura.kernel inputs(%arg3, %arg4, %arg5 : memref, memref, i32) attributes {accelerator = "neura", dataflow_mode = "predicate", mapping_info = {compiled_ii = 4 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 4 : i32, res_mii = 1 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}} { +// MAPPED-NEXT: %0 = neura.kernel inputs(%arg3, %arg4, %arg5 : memref, memref, i32) attributes {accelerator = "neura", dataflow_mode = "predicate", mapping_info = {compiled_ii = 6 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 4 : i32, res_mii = 1 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}} { // MAPPED-NEXT: ^bb0(%arg6: memref, %arg7: memref, %arg8: i32): -// MAPPED-NEXT: %1 = "neura.grant_once"() <{constant_value = "%input2"}> {dfg_id = 0 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data +// MAPPED-NEXT: %1 = "neura.grant_once"() <{constant_value = "%input2"}> {dfg_id = 0 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 2 : i32, y = 1 : i32}]} : () -> !neura.data // MAPPED-NEXT: %2 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 1 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 0 : i32, x = 0 : i32, y = 0 : i32}]} : () -> !neura.data // MAPPED-NEXT: %3 = neura.reserve {dfg_id = 2 : i32} : !neura.data -// MAPPED-NEXT: %4 = "neura.data_mov"(%1) {dfg_id = 5 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %5 = neura.phi_start %4, %3 {dfg_id = 7 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPED-NEXT: %4 = "neura.data_mov"(%1) {dfg_id = 5 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %5 = neura.phi_start %4, %3 {dfg_id = 7 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data // MAPPED-NEXT: %6 = neura.reserve {dfg_id = 3 : i32} : !neura.data // MAPPED-NEXT: %7 = "neura.data_mov"(%2) {dfg_id = 6 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 0 : i32}]} : (!neura.data) -> !neura.data // MAPPED-NEXT: %8 = neura.phi_start %7, %6 {dfg_id = 8 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 1 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPED-NEXT: %9 = "neura.data_mov"(%8) {dfg_id = 12 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %10 = "neura.icmp"(%9) <{cmpType = "slt"}> {dfg_id = 13 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 32 : index} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %11 = "neura.data_mov"(%8) {dfg_id = 11 : i32, mapping_locs = [{id = 33 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 1 : i32}, {id = 33 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %12 = "neura.data_mov"(%10) {dfg_id = 16 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %13 = neura.grant_predicate %11, %12 {dfg_id = 19 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPED-NEXT: %14 = "neura.data_mov"(%5) {dfg_id = 10 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %15 = "neura.data_mov"(%10) {dfg_id = 15 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}, {id = 160 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %16 = neura.grant_predicate %14, %15 {dfg_id = 18 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPED-NEXT: %17 = "neura.data_mov"(%10) {dfg_id = 14 : i32, mapping_locs = [{id = 3 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 64 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %18 = "neura.not"(%17) {dfg_id = 17 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 2 : i32, y = 0 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %19 = "neura.data_mov"(%5) {dfg_id = 9 : i32, mapping_locs = [{id = 11 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %20 = "neura.data_mov"(%18) {dfg_id = 20 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 2 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %21 = neura.grant_predicate %19, %20 {dfg_id = 25 : i32, mapping_locs = [{id = 0 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data, !neura.data -> !neura.data -// MAPPED-NEXT: %22 = "neura.data_mov"(%21) {dfg_id = 29 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}, {id = 12 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: neura.return_value %22 : !neura.data {dfg_id = 33 : i32, mapping_locs = [{id = 8 : i32, index_per_ii = 0 : i32, invalid_iterations = 2 : i32, resource = "tile", time_step = 8 : i32, x = 0 : i32, y = 2 : i32}]} -// MAPPED-NEXT: %23 = "neura.data_mov"(%13) {dfg_id = 24 : i32, mapping_locs = [{id = 2 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 0 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %24 = neura.load_indexed [%23 : !neura.data] {dfg_id = 28 : i32, lhs_value = "%input0", mapping_locs = [{id = 0 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 0 : i32}]} : !neura.data -// MAPPED-NEXT: %25 = "neura.data_mov"(%13) {dfg_id = 23 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %26 = neura.load_indexed [%25 : !neura.data] {dfg_id = 27 : i32, lhs_value = "%input1", mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data -// MAPPED-NEXT: %27 = "neura.data_mov"(%24) {dfg_id = 32 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %28 = "neura.data_mov"(%26) {dfg_id = 31 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 4 : i32}, {id = 128 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %29 = "neura.mul"(%27, %28) {dfg_id = 34 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPED-NEXT: %30 = "neura.data_mov"(%16) {dfg_id = 21 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %31 = "neura.data_mov"(%29) {dfg_id = 35 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %32 = "neura.add"(%30, %31) {dfg_id = 36 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data -// MAPPED-NEXT: %33 = "neura.data_mov"(%13) {dfg_id = 22 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data -// MAPPED-NEXT: %34 = "neura.add"(%33) {dfg_id = 26 : i32, mapping_locs = [{id = 1 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 0 : i32}], rhs_value = 1 : index} : (!neura.data) -> !neura.data -// MAPPED-NEXT: neura.ctrl_mov %34 -> %6 {dfg_id = 30 : i32, mapping_locs = [{id = 32 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : !neura.data !neura.data -// MAPPED-NEXT: neura.ctrl_mov %32 -> %3 {dfg_id = 37 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 7 : i32}]} : !neura.data !neura.data +// MAPPED-NEXT: %9 = "neura.data_mov"(%8) {dfg_id = 12 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %10 = "neura.icmp"(%9) <{cmpType = "slt"}> {dfg_id = 13 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 2 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 32 : index} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %11 = "neura.data_mov"(%8) {dfg_id = 11 : i32, mapping_locs = [{id = 1000 : i32, index_per_ii = 1 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 1 : i32}, {id = 4 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %12 = "neura.data_mov"(%10) {dfg_id = 16 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 2 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %13 = neura.grant_predicate %11, %12 {dfg_id = 19 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 3 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPED-NEXT: %14 = "neura.data_mov"(%5) {dfg_id = 10 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %15 = "neura.data_mov"(%10) {dfg_id = 15 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 193 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 3 : i32}, {id = 193 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 1 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %16 = neura.grant_predicate %14, %15 {dfg_id = 18 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 2 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPED-NEXT: %17 = "neura.data_mov"(%10) {dfg_id = 14 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 2 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 2 : i32}, {id = 4000 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %18 = "neura.not"(%17) {dfg_id = 17 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 0 : i32, y = 1 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %19 = "neura.data_mov"(%5) {dfg_id = 9 : i32, mapping_locs = [{id = 17 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %20 = "neura.data_mov"(%18) {dfg_id = 20 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %21 = neura.grant_predicate %19, %20 {dfg_id = 25 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 1 : i32, y = 1 : i32}]} : !neura.data, !neura.data -> !neura.data +// MAPPED-NEXT: %22 = "neura.data_mov"(%21) {dfg_id = 29 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: neura.return_value %22 : !neura.data {dfg_id = 33 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 0 : i32, y = 1 : i32}]} +// MAPPED-NEXT: %23 = "neura.data_mov"(%13) {dfg_id = 24 : i32, mapping_locs = [{id = 13 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}, {id = 4000 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 4 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %24 = neura.load_indexed [%23 : !neura.data] {dfg_id = 28 : i32, lhs_value = "%input0", mapping_locs = [{id = 4 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 5 : i32, x = 0 : i32, y = 1 : i32}]} : !neura.data +// MAPPED-NEXT: %25 = "neura.data_mov"(%13) {dfg_id = 23 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %26 = neura.load_indexed [%25 : !neura.data] {dfg_id = 27 : i32, lhs_value = "%input1", mapping_locs = [{id = 1 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 0 : i32}]} : !neura.data +// MAPPED-NEXT: %27 = "neura.data_mov"(%24) {dfg_id = 32 : i32, mapping_locs = [{id = 10 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %28 = "neura.data_mov"(%26) {dfg_id = 31 : i32, mapping_locs = [{id = 4 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 160 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %29 = "neura.mul"(%27, %28) {dfg_id = 34 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 6 : i32, x = 1 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPED-NEXT: %30 = "neura.data_mov"(%16) {dfg_id = 21 : i32, mapping_locs = [{id = 192 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 192 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %31 = "neura.data_mov"(%29) {dfg_id = 35 : i32, mapping_locs = [{id = 14 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, resource = "link", time_step = 6 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %32 = "neura.add"(%30, %31) {dfg_id = 36 : i32, mapping_locs = [{id = 6 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, resource = "tile", time_step = 7 : i32, x = 2 : i32, y = 1 : i32}]} : (!neura.data, !neura.data) -> !neura.data +// MAPPED-NEXT: %33 = "neura.data_mov"(%13) {dfg_id = 22 : i32, mapping_locs = [{id = 160 : i32, index_per_ii = 3 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 3 : i32}]} : (!neura.data) -> !neura.data +// MAPPED-NEXT: %34 = "neura.add"(%33) {dfg_id = 26 : i32, mapping_locs = [{id = 5 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "tile", time_step = 4 : i32, x = 1 : i32, y = 1 : i32}], rhs_value = 1 : index} : (!neura.data) -> !neura.data +// MAPPED-NEXT: neura.ctrl_mov %34 -> %6 {dfg_id = 30 : i32, mapping_locs = [{id = 15 : i32, index_per_ii = 4 : i32, invalid_iterations = 0 : i32, resource = "link", time_step = 4 : i32}, {id = 1000 : i32, index_per_ii = 5 : i32, invalid_iterations = 0 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 5 : i32}, {id = 1000 : i32, index_per_ii = 0 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 0 : i32, resource = "register", time_step = 6 : i32}]} : !neura.data !neura.data +// MAPPED-NEXT: neura.ctrl_mov %32 -> %3 {dfg_id = 37 : i32, mapping_locs = [{id = 194 : i32, index_per_ii = 1 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 7 : i32}, {id = 194 : i32, index_per_ii = 2 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 8 : i32}, {id = 194 : i32, index_per_ii = 3 : i32, invalid_iterations = 1 : i32, per_tile_register_id = 2 : i32, resource = "register", time_step = 9 : i32}]} : !neura.data !neura.data // MAPPED-NEXT: neura.yield {dfg_id = 4 : i32} // MAPPED-NEXT: } : i32 // MAPPED-NEXT: taskflow.yield reads(%arg3, %arg4 : memref, memref) values(%0 : i32) @@ -200,6 +200,3 @@ module { // MAPPED-NEXT: } - - -