← passage and results

c20.generic.mlir

evidence/breadth-06/pbt/out/c20.generic.mlir

Download original file

"builtin.module"() ({
  "fabric.module"() <{function_type = (!fabric.bits_tag<8, 2>) -> !fabric.bits_tag<8, 2>, sym_name = "c20"}> ({
  ^bb0(%arg0: !fabric.bits_tag<8, 2>):
    %0 = "fabric.pe"(%arg0) <{fu_config_mode = #fabric.fu_config_mode<per_instruction_fu_config>, num_instruction = 2 : i32, operand_buffer_mode = #fabric.operand_buffer_mode<all_fu_share>, operand_buffer_size = 3 : i32, schedule = 1 : i32, tag_width = 2 : i32}> ({
    ^bb0(%arg1: !fabric.bits<8>):
      %1 = "fabric.fu"(%arg1) ({
      ^bb0(%arg2: !fabric.bits<8>):
        %2 = "fabric.op"(%arg2, %arg2) <{hw_params = {integer_widths = [1 : i32]}, implementation_family = #fabric.implementation_family<ScalarIntegerAddSub>, op_list = [@arith.addi]}> : (!fabric.bits<8>, !fabric.bits<8>) -> !fabric.bits<8>
        %3 = "fabric.op"(%2, %arg2) <{hw_params = {integer_widths = [1 : i32]}, implementation_family = #fabric.implementation_family<ScalarIntegerAddSub>, op_list = [@arith.addi]}> : (!fabric.bits<8>, !fabric.bits<8>) -> !fabric.bits<8>
        %4 = "fabric.op"(%3, %arg2) <{hw_params = {integer_widths = [1 : i32]}, implementation_family = #fabric.implementation_family<ScalarIntegerAddSub>, op_list = [@arith.addi]}> : (!fabric.bits<8>, !fabric.bits<8>) -> !fabric.bits<8>
        "fabric.yield"(%4) : (!fabric.bits<8>) -> ()
      }) : (!fabric.bits<8>) -> !fabric.bits<8>
    }) : (!fabric.bits_tag<8, 2>) -> !fabric.bits_tag<8, 2>
    "fabric.yield"(%0) : (!fabric.bits_tag<8, 2>) -> ()
  }) : () -> ()
}) : () -> ()