diff --git a/lib/NeuraDialect/Transforms/GenerateCodePass.cpp b/lib/NeuraDialect/Transforms/GenerateCodePass.cpp index 0de51f7a..c3493780 100644 --- a/lib/NeuraDialect/Transforms/GenerateCodePass.cpp +++ b/lib/NeuraDialect/Transforms/GenerateCodePass.cpp @@ -523,21 +523,53 @@ struct GenerateCodePass // Checks if operation has constant_value attribute (for non-CONSTANT operations). inst.src_operands.emplace_back(getConstantLiteral(op), "RED"); } else { - // Handles normal operands, including operations with rhs_value attribute. + // Handles normal operands and folded constants (lhs_value/rhs_value). SmallVector operands; operands.reserve(op->getNumOperands()); - - // Processes actual Value operands (if any). - for (Value v : op->getOperands()) { + + auto appendLiteralSlot = [&](Attribute attr) -> bool { + // If there is no attribute, there is no folded constant. + if (!attr) return false; + std::string literal = extractConstantLiteralFromAttr(attr); + if (literal.empty()) { + // Attribute exists but cannot be serialized to current literal form. + // Keep slot alignment and surface a clear diagnostic. + op->emitError("unsupported constant attribute in lhs_value/rhs_value") + << ": " << attr; + literal = "UNSUPPORTED_CONSTANT"; + } + inst.src_operands.emplace_back(literal, "RED"); + // Keeps index alignment with operation_to_operands for rewiring. + operands.push_back(Value()); + return true; + }; + auto appendValueSlot = [&](Value v) { operands.push_back(v); inst.src_operands.emplace_back("UNRESOLVED", "RED"); - } - - // Handles cases where binary operations have the RHS constant stored as an attribute. - if (auto rhs_value_attr = op->getAttr(attr::kRhsValue)) { - std::string rhs_literal = extractConstantLiteralFromAttr(rhs_value_attr); - if (!rhs_literal.empty()) { - inst.src_operands.emplace_back(rhs_literal, "RED"); + }; + + // StoreIndexed has operand order: value(lhs) -> base(rhs) -> indices. + // rhs_value must be inserted before indices (not appended at tail). + if (auto store_indexed_op = dyn_cast(op)) { + bool lhs_folded = appendLiteralSlot(op->getAttr(attr::kLhsValue)); + if (!lhs_folded) appendValueSlot(store_indexed_op.getValue()); + + bool rhs_folded = appendLiteralSlot(op->getAttr(attr::kRhsValue)); + if (!rhs_folded) { + Value base = store_indexed_op.getBase(); + if (base) appendValueSlot(base); + } + + for (Value index : store_indexed_op.getIndices()) { + appendValueSlot(index); } + } else { + // Generic handling: + // - lhs_value is the leading source slot. + // - remaining Value operands keep original order. + // - rhs_value is the trailing source slot. + appendLiteralSlot(op->getAttr(attr::kLhsValue)); + for (Value v : op->getOperands()) appendValueSlot(v); + appendLiteralSlot(op->getAttr(attr::kRhsValue)); } operation_to_operands[op] = std::move(operands); diff --git a/test/benchmark/Zeonica_Testbench b/test/benchmark/Zeonica_Testbench index 62389ec9..1e98cf05 160000 --- a/test/benchmark/Zeonica_Testbench +++ b/test/benchmark/Zeonica_Testbench @@ -1 +1 @@ -Subproject commit 62389ec9f8e4e0f7f4988294213e71c6d2eebc85 +Subproject commit 1e98cf05bf9c68299d48e0348cb1c6cbb7c8455e diff --git a/test/e2e/bicg/bicg_int_kernel.mlir b/test/e2e/bicg/bicg_int_kernel.mlir index 1c56c576..27310537 100644 --- a/test/e2e/bicg/bicg_int_kernel.mlir +++ b/test/e2e/bicg/bicg_int_kernel.mlir @@ -164,1412 +164,92 @@ // MAPPING-NEXT: } -// YAML: array_config: -// YAML-NEXT: columns: 4 -// YAML-NEXT: rows: 4 -// YAML-NEXT: compiled_ii: 10 -// 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: 0 -// YAML-NEXT: operations: -// YAML-NEXT: - opcode: "GRANT_ONCE" -// YAML-NEXT: id: 3 -// 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: "$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: "PHI_START" -// YAML-NEXT: id: 19 -// 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: "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: "$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: 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: 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" +// YAML: - column: 0 +// YAML: row: 0 +// YAML: core_id: "0" +// YAML: entries: +// YAML: - entry_id: "entry0" +// YAML: instructions: +// YAML: - index_per_ii: 5 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 46 +// YAML: time_step: 5 +// YAML: invalid_iterations: 0 +// YAML: src_operands: +// YAML: - operand: "arg1" +// YAML: color: "RED" +// YAML: - operand: "$0" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "EAST" +// YAML: color: "RED" +// YAML: - index_per_ii: 6 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 47 +// YAML: time_step: 6 +// YAML: invalid_iterations: 0 +// YAML: src_operands: +// YAML: - operand: "arg3" +// YAML: color: "RED" +// YAML: - operand: "$1" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "EAST" +// YAML: color: "RED" +// YAML: - operand: "NORTH" +// YAML: color: "RED" +// YAML: - column: 0 +// YAML: row: 2 +// YAML: core_id: "8" +// YAML: entries: +// YAML: - entry_id: "entry0" +// YAML: instructions: +// YAML: - index_per_ii: 4 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 31 +// YAML: time_step: 4 +// YAML: invalid_iterations: 0 +// YAML: src_operands: +// YAML: - operand: "arg2" +// YAML: color: "RED" +// YAML: - operand: "$0" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "EAST" +// YAML: color: "RED" +// YAML: - index_per_ii: 5 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 32 +// YAML: time_step: 5 +// YAML: invalid_iterations: 0 +// YAML: src_operands: +// YAML: - operand: "arg4" +// YAML: color: "RED" +// YAML: - operand: "$1" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "NORTH" +// YAML: color: "RED" +// YAML: - operand: "$0" +// YAML: color: "RED" - -// ASM: # Compiled II: 10 // ASM: PE(0,0): -// ASM-NEXT: { -// 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], [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) -// ASM-NEXT: } (idx_per_ii=3) -// ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$1] (t=4, inv_iters=0) -// 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] -> [EAST, RED], [NORTH, RED] (t=6, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=6) -// ASM-NEXT: { -// 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: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=8, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=8) -// ASM-NEXT: { -// 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: CTRL_MOV, [EAST, RED] -> [WEST, RED] (t=10, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=0) -// ASM-NEXT: { -// 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: 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: { +// ASM: GEP, [arg1], [$0] -> [EAST, RED] (t=5, inv_iters=0) +// ASM: DATA_MOV, [NORTH, RED] -> [NORTH, RED] (t=5, inv_iters=0) +// ASM: } (idx_per_ii=5) +// ASM: { +// ASM: GEP, [arg3], [$1] -> [EAST, RED], [NORTH, RED] (t=6, inv_iters=0) +// ASM: } (idx_per_ii=6) // 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: 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: 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) - - +// ASM: { +// ASM: GEP, [arg2], [$0] -> [EAST, RED] (t=4, inv_iters=0) +// ASM: } (idx_per_ii=4) +// ASM: { +// ASM: GEP, [arg4], [$1] -> [NORTH, RED], [$0] (t=5, inv_iters=0) +// ASM: DATA_MOV, [EAST, RED] -> [SOUTH, RED] (t=5, inv_iters=0) +// ASM: } (idx_per_ii=5) diff --git a/test/e2e/bicg/bicg_kernel.mlir b/test/e2e/bicg/bicg_kernel.mlir index c88ff73a..100b710e 100644 --- a/test/e2e/bicg/bicg_kernel.mlir +++ b/test/e2e/bicg/bicg_kernel.mlir @@ -406,71 +406,59 @@ // MAPPING-NEXT: neura.yield {dfg_id = 18 : i32} // MAPPING-NEXT: } -// YAML: array_config: -// YAML-NEXT: columns: 4 -// YAML-NEXT: rows: 4 -// YAML-NEXT: compiled_ii: 12 -// 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: 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: 740001 -// YAML-NEXT: time_step: 12 -// 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" - - -// ASM: # Compiled II: 12 -// ASM: PE(0,0): -// ASM-NEXT: { -// ASM-NEXT: CONSTANT, [arg0] -> [$0] (t=0, inv_iters=0) -// ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=12, inv_iters=1) -// 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: GRANT_ONCE, [$0] -> [NORTH, RED], [$0], [$2], [EAST, RED], [$1] (t=2, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=2) -// ASM-NEXT: { -// ASM-NEXT: DATA_MOV, [$2] -> [NORTH, RED] (t=3, inv_iters=0) -// ASM-NEXT: DATA_MOV, [$0] -> [EAST, RED] (t=3, inv_iters=0) -// 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: { -// ASM-NEXT: DATA_MOV, [$0] -> [NORTH, RED] (t=10, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=10) +// YAML: - column: 0 +// YAML: row: 1 +// YAML: core_id: "4" +// YAML: entries: +// YAML: - entry_id: "entry0" +// YAML: instructions: +// YAML: - index_per_ii: 0 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 137 +// YAML: time_step: 12 +// YAML: invalid_iterations: 1 +// YAML: src_operands: +// YAML: - operand: "arg5" +// YAML: color: "RED" +// YAML: - operand: "$0" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "$0" +// YAML: color: "RED" +// YAML: - column: 3 +// YAML: row: 2 +// YAML: core_id: "11" +// YAML: entries: +// YAML: - entry_id: "entry0" +// YAML: instructions: +// YAML: - index_per_ii: 0 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 138 +// YAML: time_step: 12 +// YAML: invalid_iterations: 1 +// YAML: src_operands: +// YAML: - operand: "arg2" +// YAML: color: "RED" +// YAML: - operand: "$0" +// YAML: color: "RED" +// YAML: - operand: "$1" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "SOUTH" +// YAML: color: "RED" +// YAML: - operand: "WEST" +// YAML: color: "RED" +// ASM: PE(0,1): +// ASM: { +// ASM: GEP, [arg5], [$0] -> [$0] (t=12, inv_iters=1) +// ASM: } (idx_per_ii=0) +// ASM: PE(3,2): +// ASM: { +// ASM: GEP, [arg2], [$0], [$1] -> [SOUTH, RED], [WEST, RED] (t=12, inv_iters=1) +// ASM: } (idx_per_ii=0) // RUN: mlir-neura-opt %t-kernel.mlir --view-op-graph 2>&1 | sed -n '/^digraph G {/,/^}$/p' > bicg_kernel_original.dot // RUN: dot -Tpng bicg_kernel_original.dot -o bicg_kernel_original.png diff --git a/test/e2e/fft/fft_kernel.mlir b/test/e2e/fft/fft_kernel.mlir index dfb820c3..368e8462 100644 --- a/test/e2e/fft/fft_kernel.mlir +++ b/test/e2e/fft/fft_kernel.mlir @@ -375,4078 +375,54 @@ // 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" -// 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: 260 -// YAML-NEXT: time_step: 19 -// 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: "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" -// YAML-NEXT: id: 57 -// 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: - 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: 3130000 -// YAML-NEXT: time_step: 13 -// 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: 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: 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: -// 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" +// YAML: - column: 2 +// YAML: row: 0 +// YAML: core_id: "2" +// YAML: entries: +// YAML: - entry_id: "entry0" +// YAML: instructions: +// YAML: - index_per_ii: 12 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 302 +// YAML: time_step: 12 +// YAML: invalid_iterations: 0 +// YAML: src_operands: +// YAML: - operand: "arg0" +// YAML: color: "RED" +// YAML: - operand: "NORTH" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "WEST" +// YAML: color: "RED" +// YAML: - operand: "$0" +// YAML: color: "RED" +// YAML: - column: 3 +// YAML: row: 2 +// YAML: core_id: "11" +// YAML: entries: +// YAML: - entry_id: "entry0" +// YAML: instructions: +// YAML: - index_per_ii: 11 +// YAML: operations: +// YAML: - opcode: "GEP" +// YAML: id: 171 +// YAML: time_step: 11 +// YAML: invalid_iterations: 0 +// YAML: src_operands: +// YAML: - operand: "arg2" +// YAML: color: "RED" +// YAML: - operand: "WEST" +// YAML: color: "RED" +// YAML: dst_operands: +// YAML: - operand: "SOUTH" +// YAML: 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: 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: 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: LOAD, [EAST, RED] -> [EAST, RED], [$0] (t=13, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=13) -// ASM-NEXT: { -// 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: 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: 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: 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, [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: 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: ADD, [EAST, RED], [WEST, RED] -> [NORTH, RED], [WEST, RED] (t=16, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=16) -// 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: } (idx_per_ii=18) -// ASM: PE(3,0): -// ASM-NEXT: { -// ASM-NEXT: GRANT_ONCE, [#0] -> [WEST, RED], [NORTH, RED] (t=5, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=5) -// ASM-NEXT: { -// ASM-NEXT: LOAD, [NORTH, RED] -> [NORTH, RED] (t=13, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=13) -// ASM-NEXT: { -// ASM-NEXT: LOAD, [NORTH, RED] -> [WEST, RED], [$0] (t=14, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=14) -// ASM-NEXT: { -// ASM-NEXT: MUL, [$0], [NORTH, RED] -> [WEST, RED] (t=15, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=15) -// ASM: PE(0,1): -// ASM-NEXT: { -// 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=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) -// ASM-NEXT: { -// ASM-NEXT: PHI_START, [$0], [$4] -> [$0] (t=9, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=9) -// ASM-NEXT: { -// 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] -> [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] -> [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: 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] -> [$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: DATA_MOV, [NORTH, RED] -> [SOUTH, RED] (t=17, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=17) -// ASM-NEXT: { -// 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: 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, [SOUTH, RED] -> [NORTH, RED] (t=19, inv_iters=1) -// ASM-NEXT: } (idx_per_ii=0) -// ASM-NEXT: { -// 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, [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], [$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], [$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) -// ASM-NEXT: } (idx_per_ii=8) -// ASM-NEXT: { -// ASM-NEXT: ZEXT, [$0] -> [EAST, RED] (t=9, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=9) -// ASM-NEXT: { -// ASM-NEXT: GRANT_PREDICATE, [NORTH, RED], [$2] -> [$0] (t=10, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=10) -// ASM-NEXT: { -// ASM-NEXT: ZEXT, [$0] -> [$0] (t=11, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=11) -// ASM-NEXT: { -// 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], [$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] -> [NORTH, RED], [$2] (t=14, inv_iters=0) -// ASM-NEXT: } (idx_per_ii=14) -// ASM-NEXT: { -// 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, [$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: 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: } (idx_per_ii=17) -// ASM-NEXT: { -// 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: { +// ASM: GEP, [arg0], [NORTH, RED] -> [WEST, RED], [$0] (t=12, inv_iters=0) +// ASM: } (idx_per_ii=12) // 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) - - +// ASM: { +// ASM: GEP, [arg2], [WEST, RED] -> [SOUTH, RED] (t=11, inv_iters=0) +// ASM: } (idx_per_ii=11) diff --git a/test/e2e/fir/fir_kernel.mlir b/test/e2e/fir/fir_kernel.mlir index 38ddf22c..1a973f09 100644 --- a/test/e2e/fir/fir_kernel.mlir +++ b/test/e2e/fir/fir_kernel.mlir @@ -233,6 +233,8 @@ // YAML-NEXT: time_step: 2 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: @@ -463,6 +465,8 @@ // YAML-NEXT: time_step: 2 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg2" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: @@ -505,7 +509,7 @@ // ASM-NEXT: } (idx_per_ii=4) // ASM: PE(2,1): // ASM-NEXT: { -// ASM-NEXT: GEP, [NORTH, RED] -> [SOUTH, RED] (t=2, inv_iters=0) +// ASM-NEXT: GEP, [arg0], [NORTH, RED] -> [SOUTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) // ASM: PE(3,1): // ASM-NEXT: { @@ -553,7 +557,7 @@ // 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: GEP, [arg2], [WEST, RED] -> [SOUTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) diff --git a/test/e2e/fir/fir_kernel_vec.mlir b/test/e2e/fir/fir_kernel_vec.mlir index 263a3324..667d78a2 100644 --- a/test/e2e/fir/fir_kernel_vec.mlir +++ b/test/e2e/fir/fir_kernel_vec.mlir @@ -223,6 +223,8 @@ // YAML-NEXT: time_step: 2 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "NORTH" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: @@ -463,6 +465,8 @@ // YAML-NEXT: time_step: 2 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg2" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "WEST" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: @@ -517,7 +521,7 @@ // 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: GEP, [arg0], [NORTH, RED] -> [SOUTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) // ASM: PE(3,1): // ASM-NEXT: { @@ -566,7 +570,7 @@ // 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: GEP, [arg2], [WEST, RED] -> [SOUTH, RED] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) // ASM: PE(1,3): // ASM-NEXT: { diff --git a/test/e2e/gemv/gemv_kernel.mlir b/test/e2e/gemv/gemv_kernel.mlir index 3ec74c39..a59d0bf0 100644 --- a/test/e2e/gemv/gemv_kernel.mlir +++ b/test/e2e/gemv/gemv_kernel.mlir @@ -217,6 +217,8 @@ // YAML-NEXT: time_step: 3 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: @@ -241,6 +243,8 @@ // YAML-NEXT: time_step: 9 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg2" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: @@ -832,6 +836,8 @@ // YAML-NEXT: time_step: 5 // YAML-NEXT: invalid_iterations: 0 // YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg1" +// YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "$0" // YAML-NEXT: color: "RED" // YAML-NEXT: dst_operands: @@ -1139,13 +1145,13 @@ // ASM-NEXT: SHL, [$0], [#4] -> [$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: GEP, [arg0], [$0] -> [NORTH, RED] (t=3, inv_iters=0) // ASM-NEXT: } (idx_per_ii=3) // ASM-NEXT: { // ASM-NEXT: DATA_MOV, [NORTH, RED] -> [$0] (t=7, inv_iters=0) // ASM-NEXT: } (idx_per_ii=7) // ASM-NEXT: { -// ASM-NEXT: GEP, [$0] -> [EAST, RED] (t=9, inv_iters=0) +// ASM-NEXT: GEP, [arg2], [$0] -> [EAST, RED] (t=9, inv_iters=0) // ASM-NEXT: DATA_MOV, [EAST, RED] -> [NORTH, RED] (t=9, inv_iters=0) // ASM-NEXT: } (idx_per_ii=9) // ASM: PE(1,0): @@ -1258,7 +1264,7 @@ // 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: GEP, [arg1], [$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) diff --git a/test/e2e/histogram/histogram_kernel.mlir b/test/e2e/histogram/histogram_kernel.mlir index becb184e..fa18a901 100644 --- a/test/e2e/histogram/histogram_kernel.mlir +++ b/test/e2e/histogram/histogram_kernel.mlir @@ -25,7 +25,7 @@ -// MAPPING: func.func @_Z6kernelPiS_(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 6 : 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} { +// MAPPING: func.func @_Z6kernelPiS_(%arg0: !llvm.ptr {llvm.nocapture, llvm.noundef, llvm.readonly}, %arg1: !llvm.ptr {llvm.nocapture, llvm.noundef}) -> !llvm.void attributes {CConv = #llvm.cconv, accelerator = "neura", dataflow_mode = "predicate", linkage = #llvm.linkage, mapping_info = {compiled_ii = 6 : 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} { // MAPPING-NEXT: %0 = "neura.grant_once"() <{constant_value = 0 : i64}> {dfg_id = 0 : 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: %1 = neura.reserve {dfg_id = 1 : i32} : !neura.data // MAPPING-NEXT: %2 = "neura.data_mov"(%0) {dfg_id = 3 : 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 @@ -69,7 +69,7 @@ // MAPPING-NEXT: neura.yield {dfg_id = 2 : i32} // MAPPING-NEXT: } -// YAML: array_config: +// YAML: array_config: // YAML-NEXT: columns: 4 // YAML-NEXT: rows: 4 // YAML-NEXT: compiled_ii: 6 @@ -106,16 +106,177 @@ // 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: "CTRL_MOV" +// YAML-NEXT: id: 27 +// 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: 1 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "PHI_START" +// YAML-NEXT: id: 4 +// YAML-NEXT: time_step: 1 +// 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: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "GEP" +// YAML-NEXT: id: 8 +// YAML-NEXT: time_step: 2 +// YAML-NEXT: invalid_iterations: 0 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg0" +// 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: "LOAD" +// YAML-NEXT: id: 13 +// 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: "MUL" +// YAML-NEXT: id: 20 +// 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: "#5" +// 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: "DIV" +// YAML-NEXT: id: 29 +// YAML-NEXT: time_step: 6 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "SOUTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "#18" +// 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: "SEXT" +// YAML-NEXT: id: 31 +// YAML-NEXT: time_step: 7 +// 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: "GEP" +// YAML-NEXT: id: 33 +// YAML-NEXT: time_step: 8 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg1" +// 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: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 36 +// 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: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 38 +// 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: dst_operands: +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 5 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 40 +// YAML-NEXT: time_step: 11 +// 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" -// ASM: # Compiled II: 6 -// ASM: PE(0,0): +// ASM: # Compiled II: 6 +// ASM-EMPTY: +// ASM-NEXT: PE(0,0): // ASM-NEXT: { // ASM-NEXT: GRANT_ONCE, [#0] -> [EAST, RED] (t=0, inv_iters=0) // ASM-NEXT: } (idx_per_ii=0) // ASM-NEXT: { // ASM-NEXT: ADD, [EAST, RED], [#-5] -> [NORTH, RED] (t=5, inv_iters=0) // ASM-NEXT: } (idx_per_ii=5) -// ASM: PE(1,0): +// ASM-EMPTY: +// ASM-NEXT: PE(1,0): // ASM-NEXT: { // ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [$0] (t=6, inv_iters=1) // ASM-NEXT: } (idx_per_ii=0) @@ -123,7 +284,7 @@ // ASM-NEXT: PHI_START, [WEST, RED], [$0] -> [$0], [NORTH, RED] (t=1, inv_iters=0) // ASM-NEXT: } (idx_per_ii=1) // ASM-NEXT: { -// ASM-NEXT: GEP, [$0] -> [$0] (t=2, inv_iters=0) +// ASM-NEXT: GEP, [arg0], [$0] -> [$0] (t=2, inv_iters=0) // ASM-NEXT: } (idx_per_ii=2) // ASM-NEXT: { // ASM-NEXT: LOAD, [$0] -> [$0] (t=3, inv_iters=0) @@ -131,24 +292,24 @@ // ASM-NEXT: { // ASM-NEXT: MUL, [$0], [#5] -> [WEST, RED] (t=4, inv_iters=0) // ASM-NEXT: } (idx_per_ii=4) - - -// RUN: mlir-neura-opt %t-kernel.mlir --view-op-graph 2>&1 | sed -n '/^digraph G {/,/^}$/p' > histogram_kernel_original.dot -// 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 \ -// RUN: --promote-input-arg-to-const \ -// RUN: --fold-constant \ -// RUN: --canonicalize-return \ -// RUN: --canonicalize-live-in \ -// RUN: --leverage-predicated-value \ -// RUN: --transform-ctrl-to-data-flow \ -// RUN: --fold-constant \ -// RUN: --view-op-graph 2>&1 | sed -n '/^digraph G {/,/^}$/p' > histogram_kernel.dot -// 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 { +// ASM-EMPTY: +// ASM-NEXT: PE(0,1): +// ASM-NEXT: { +// ASM-NEXT: DIV, [SOUTH, RED], [#18] -> [$0] (t=6, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=0) +// ASM-NEXT: { +// ASM-NEXT: SEXT, [$0] -> [$0] (t=7, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: GEP, [arg1], [$0] -> [$0], [$1] (t=8, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [$0] -> [$0] (t=9, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: ADD, [$0], [#1] -> [$0] (t=10, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: STORE, [$0], [$1] (t=11, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-EMPTY: diff --git a/test/e2e/spmv/spmv_kernel.mlir b/test/e2e/spmv/spmv_kernel.mlir index 7440f74c..e9ddc751 100644 --- a/test/e2e/spmv/spmv_kernel.mlir +++ b/test/e2e/spmv/spmv_kernel.mlir @@ -22,7 +22,7 @@ // 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 = 14 : 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: 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 = 14 : 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 = 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 // 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 = 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 @@ -345,7 +345,7 @@ // 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: 14 @@ -384,10 +384,758 @@ // YAML-NEXT: color: "RED" // YAML-NEXT: - operand: "EAST" // 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: "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: 3 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 200000 +// 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: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 93 +// 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: "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: "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: - 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: "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: 30 +// 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: "$1" +// 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: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 39 +// 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: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 238 +// 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: 9 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 239 +// 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: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2170002 +// 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: "EAST" +// 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: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: dst_operands: +// YAML-NEXT: - operand: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "MUL" +// YAML-NEXT: id: 249 +// YAML-NEXT: time_step: 24 +// 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: "$4" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 2000004 +// 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: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 12 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 80 +// 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: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 268 +// YAML-NEXT: time_step: 26 +// 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: "EAST" +// 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: "$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: - 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: "GEP" +// YAML-NEXT: id: 116 +// YAML-NEXT: time_step: 15 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_operands: +// YAML-NEXT: - operand: "arg3" +// 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: 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: "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: 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: "WEST" +// 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: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// 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: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 200001 +// 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: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 390002 +// 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: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "GRANT_PREDICATE" +// YAML-NEXT: id: 68 +// 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: "EAST" +// 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: 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: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2390001 +// 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: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2140002 +// 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: 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: "$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: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 740001 +// 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: "NORTH" +// 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: "$2" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 730001 +// 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: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 217 +// YAML-NEXT: time_step: 24 +// 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: "CTRL_MOV" +// YAML-NEXT: id: 2000003 +// 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: "WEST" +// 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: "$0" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - operand: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 1740001 +// 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: 810000 +// 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: - opcode: "DATA_MOV" +// YAML-NEXT: id: 2200005 +// YAML-NEXT: time_step: 26 +// 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: 13 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "STORE" +// YAML-NEXT: id: 285 +// YAML-NEXT: time_step: 27 +// 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: - 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: 151 +// 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: "EAST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 2 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 145 +// 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: "NORTH" +// 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: "EAST" +// YAML-NEXT: color: "RED" +// 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: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 4 +// 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: "NORTH" +// 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: "DATA_MOV" +// YAML-NEXT: id: 390001 +// 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: "WEST" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 146 +// 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: 6 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "DATA_MOV" +// YAML-NEXT: id: 200002 +// 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: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - opcode: "LOAD" +// YAML-NEXT: id: 228 +// 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: 7 +// 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: "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: 830001 +// 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: "NORTH" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 8 +// 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: "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: 283 +// 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: "$3" +// YAML-NEXT: color: "RED" +// YAML-NEXT: - index_per_ii: 9 +// 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: "$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: 214 +// 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: - opcode: "CTRL_MOV" +// YAML-NEXT: id: 2000002 +// 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: "WEST" +// 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: 24 +// 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: 11 +// YAML-NEXT: operations: +// YAML-NEXT: - opcode: "ADD" +// YAML-NEXT: id: 317 +// 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: "$0" +// 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: 1740002 +// 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: "STORE" +// YAML-NEXT: id: 284 +// YAML-NEXT: time_step: 27 +// YAML-NEXT: invalid_iterations: 1 +// YAML-NEXT: src_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: 2200006 +// YAML-NEXT: time_step: 27 +// 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" - -// ASM: # Compiled II: 14 -// ASM: PE(0,0): +// ASM: # Compiled II: 14 +// ASM-EMPTY: +// ASM-NEXT: PE(0,0): // ASM-NEXT: { // ASM-NEXT: CONSTANT, [arg0] -> [$0] (t=0, inv_iters=0) // ASM-NEXT: } (idx_per_ii=0) @@ -433,4 +1181,104 @@ // ASM-NEXT: { // ASM-NEXT: GRANT_PREDICATE, [$1], [$0] -> [NORTH, RED] (t=13, inv_iters=0) // ASM-NEXT: } (idx_per_ii=13) - +// ASM-EMPTY: +// ASM-NEXT: PE(1,0): +// ASM-NEXT: { +// ASM-NEXT: GEP, [arg3], [NORTH, RED] -> [NORTH, RED] (t=15, 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, [WEST, RED] -> [EAST, RED] (t=2, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: GRANT_PREDICATE, [$0], [WEST, RED] -> [$1], [$0] (t=3, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: ICMP_ULT, [$0], [#4] -> [NORTH, RED], [EAST, RED], [WEST, RED] (t=4, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: ZEXT, [$1] -> [$0], [WEST, RED] (t=5, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=5, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=6, inv_iters=0) +// ASM-NEXT: GRANT_PREDICATE, [$2], [$3] -> [EAST, RED] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [EAST, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [EAST, RED] -> [WEST, RED] (t=22, inv_iters=1) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: AND, [$0], [#3] -> [$0], [WEST, RED] (t=9, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [NORTH, RED] (t=9, inv_iters=0) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: ICMP_EQ, [$0], [#0] -> [$2], [$3], [$0] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [NORTH, RED] (t=10, inv_iters=0) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=24, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [EAST, RED] -> [WEST, RED] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: NOT, [$0] -> [NORTH, RED], [$0], [WEST, RED] (t=11, inv_iters=0) +// 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, [$0] -> [NORTH, RED] (t=12, inv_iters=0) +// ASM-NEXT: DATA_MOV, [NORTH, RED] -> [EAST, RED] (t=26, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=12) +// ASM-NEXT: { +// ASM-NEXT: STORE, [WEST, RED], [$1] (t=27, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-EMPTY: +// ASM-NEXT: PE(2,0): +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [EAST, RED] (t=15, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=1) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [NORTH, RED] (t=16, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=2) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=3, inv_iters=0) +// ASM-NEXT: LOAD, [NORTH, RED] -> [NORTH, RED] (t=17, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=3) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [EAST, RED] (t=18, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=4) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [WEST, RED] (t=5, inv_iters=0) +// ASM-NEXT: LOAD, [NORTH, RED] -> [$1] (t=19, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=5) +// ASM-NEXT: { +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=6, inv_iters=0) +// ASM-NEXT: LOAD, [NORTH, RED] -> [$0] (t=20, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=6) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [WEST, RED] (t=21, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [NORTH, RED] (t=21, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=7) +// ASM-NEXT: { +// ASM-NEXT: LOAD, [NORTH, RED] -> [$2] (t=22, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$3] (t=22, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=8) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$0], [$1] -> [NORTH, RED] (t=23, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [$1] (t=23, inv_iters=1) +// ASM-NEXT: CTRL_MOV, [NORTH, RED] -> [WEST, RED] (t=23, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=9) +// ASM-NEXT: { +// ASM-NEXT: MUL, [$2], [$3] -> [$0] (t=24, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=10) +// ASM-NEXT: { +// ASM-NEXT: ADD, [EAST, RED], [$0] -> [EAST, RED] (t=25, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=11) +// 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: STORE, [NORTH, RED], [$1] (t=27, inv_iters=1) +// ASM-NEXT: DATA_MOV, [WEST, RED] -> [EAST, RED] (t=27, inv_iters=1) +// ASM-NEXT: } (idx_per_ii=13) +// ASM-EMPTY: