← passage and results
c32.mlir
evidence/breadth-06/pbt/cases/c32.mlir
Download original file
fabric.module @c32(%a : !fabric.bits_tag<8, 3>)
-> (!fabric.bits_tag<8, 3>) {
%r = fabric.pe [temporal] (%pa = %a : !fabric.bits_tag<8, 3>)
-> !fabric.bits_tag<8, 3>
attributes {
tag_width = 3 : i32,
num_instruction = 2 : i32,
fu_config_mode = #fabric.fu_config_mode<per_instruction_fu_config>,
operand_buffer_mode = #fabric.operand_buffer_mode<all_fu_share>,
operand_buffer_size = 2 : i32
} {
fabric.fu(%fa = %pa : !fabric.bits<8>) -> (!fabric.bits<8>) {
%v0 = fabric.op [@arith.addi] (%fa, %fa) {implementation_family = #fabric.implementation_family<ScalarIntegerAddSub>, hw_params = {integer_widths = [1 : i32]}} : (!fabric.bits<8>, !fabric.bits<8>) -> !fabric.bits<8>
%v1 = fabric.op [@arith.addi] (%v0, %fa) {implementation_family = #fabric.implementation_family<ScalarIntegerAddSub>, hw_params = {integer_widths = [1 : i32]}} : (!fabric.bits<8>, !fabric.bits<8>) -> !fabric.bits<8>
fabric.yield %v1 : !fabric.bits<8>
}
}
fabric.yield %r : !fabric.bits_tag<8, 3>
}