Skip to content

Commit

Permalink
5290 - fixes after rebase to master
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanmon committed Mar 26, 2024
1 parent 22a7bd0 commit f429a09
Show file tree
Hide file tree
Showing 13 changed files with 396 additions and 398 deletions.
2 changes: 1 addition & 1 deletion barretenberg/cpp/pil/avm/avm_main.pil
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ namespace avm_main(256);
bin_sel = sel_op_and + sel_op_or + sel_op_xor;

#[PERM_MAIN_BIN]
bin_sel {ia, ib, ic, bin_op_id, in_tag}
bin_sel {ia, ib, ic, bin_op_id, r_in_tag}
is
avm_binary.start {avm_binary.acc_ia, avm_binary.acc_ib, avm_binary.acc_ic,
avm_binary.op_id, avm_binary.in_tag};
Expand Down
4 changes: 2 additions & 2 deletions barretenberg/cpp/pil/avm/avm_mem.pil
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ namespace avm_mem(256);
m_rw * m_tag_err = 0;

//====== Indirect Memory Constraints =====================================
// Enforce r_in_tag == 3, i.e., in_tag must be U32
// Enforce r_in_tag == 3, i.e., r_in_tag must be U32
m_ind_op_a * (r_in_tag - 3) = 0;
m_ind_op_b * (r_in_tag - 3) = 0;
m_ind_op_c * (r_in_tag - 3) = 0;
Expand All @@ -146,7 +146,7 @@ namespace avm_mem(256);
m_ind_op_b * m_rw = 0;
m_ind_op_c * m_rw = 0;

//====== MOV Opcode in_tag Constraint =====================================
//====== MOV Opcode Tag Constraint =====================================
// The following constraint ensures that the r_in_tag is set to m_tag for
// the load operation pertaining to Ia.
// The permutation check #[PERM_MAIN_MEM_A] guarantees that the r_in_tag
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,77 +7,77 @@
namespace bb::Avm_vm {

template <typename FF> struct Avm_aluRow {
FF avm_alu_alu_u16_r5_shift{};
FF avm_alu_alu_u16_r2{};
FF avm_alu_alu_u16_r7_shift{};
FF avm_alu_alu_u16_r7{};
FF avm_alu_alu_in_tag{};
FF avm_alu_alu_u16_r2_shift{};
FF avm_alu_alu_u8_tag{};
FF avm_alu_alu_u16_r0_shift{};
FF avm_alu_alu_u16_r3_shift{};
FF avm_alu_alu_u16_r0{};
FF avm_alu_alu_cf{};
FF avm_alu_alu_op_mul{};
FF avm_alu_alu_u32_tag{};
FF avm_alu_alu_u64_tag{};
FF avm_alu_alu_u16_r1{};
FF avm_alu_alu_u16_r1_shift{};
FF avm_alu_alu_u16_r4_shift{};
FF avm_alu_alu_u64_r0{};
FF avm_alu_alu_u16_r7{};
FF avm_alu_alu_ib{};
FF avm_alu_alu_u8_r0{};
FF avm_alu_alu_u16_r0_shift{};
FF avm_alu_alu_u16_r7_shift{};
FF avm_alu_alu_ia{};
FF avm_alu_alu_op_sub{};
FF avm_alu_alu_u16_r1{};
FF avm_alu_alu_u16_r6{};
FF avm_alu_alu_u16_r6_shift{};
FF avm_alu_alu_u16_r2_shift{};
FF avm_alu_alu_u16_r5{};
FF avm_alu_alu_u32_tag{};
FF avm_alu_alu_u8_r0{};
FF avm_alu_alu_op_not{};
FF avm_alu_alu_ff_tag{};
FF avm_alu_alu_u16_r2{};
FF avm_alu_alu_u16_r4{};
FF avm_alu_alu_u8_r1{};
FF avm_alu_alu_cf{};
FF avm_alu_alu_sel{};
FF avm_alu_alu_in_tag{};
FF avm_alu_alu_ff_tag{};
FF avm_alu_alu_op_eq_diff_inv{};
FF avm_alu_alu_ia{};
FF avm_alu_alu_ic{};
FF avm_alu_alu_u128_tag{};
FF avm_alu_alu_u16_r6_shift{};
FF avm_alu_alu_op_eq{};
FF avm_alu_alu_op_add{};
FF avm_alu_alu_op_eq_diff_inv{};
FF avm_alu_alu_u16_r5_shift{};
FF avm_alu_alu_u16_tag{};
FF avm_alu_alu_u128_tag{};
FF avm_alu_alu_u16_r6{};
FF avm_alu_alu_u16_r3{};
FF avm_alu_alu_u16_r1_shift{};
FF avm_alu_alu_op_not{};
FF avm_alu_alu_u16_r0{};
FF avm_alu_alu_u16_r4_shift{};
FF avm_alu_alu_u64_r0{};
FF avm_alu_alu_op_eq{};
FF avm_alu_alu_op_mul{};
FF avm_alu_alu_u64_tag{};
FF avm_alu_alu_u16_r5{};
FF avm_alu_alu_ic{};
FF avm_alu_alu_sel{};
};

inline std::string get_relation_label_avm_alu(int index)
{
switch (index) {
case 9:
return "ALU_ADD_SUB_1";

case 17:
return "ALU_FF_NOT_XOR";

case 18:
return "ALU_OP_NOT";
case 13:
return "ALU_MUL_COMMON_2";

case 20:
return "ALU_OP_EQ";

case 11:
return "ALU_MULTIPLICATION_FF";

case 10:
return "ALU_ADD_SUB_2";

case 19:
return "ALU_RES_IS_BOOL";

case 13:
return "ALU_MUL_COMMON_2";
case 9:
return "ALU_ADD_SUB_1";

case 16:
return "ALU_MULTIPLICATION_OUT_U128";

case 12:
return "ALU_MUL_COMMON_1";

case 10:
return "ALU_ADD_SUB_2";

case 17:
return "ALU_FF_NOT_XOR";

case 18:
return "ALU_OP_NOT";
}
return std::to_string(index);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,43 @@
namespace bb::Avm_vm {

template <typename FF> struct Avm_binaryRow {
FF avm_binary_bin_sel{};
FF avm_binary_acc_ib{};
FF avm_binary_mem_tag_ctr{};
FF avm_binary_mem_tag_ctr_inv{};
FF avm_binary_bin_ic_bytes{};
FF avm_binary_acc_ic_shift{};
FF avm_binary_acc_ia{};
FF avm_binary_op_id_shift{};
FF avm_binary_acc_ib{};
FF avm_binary_acc_ic{};
FF avm_binary_mem_tag_ctr_shift{};
FF avm_binary_acc_ia_shift{};
FF avm_binary_op_id_shift{};
FF avm_binary_bin_sel{};
FF avm_binary_bin_ib_bytes{};
FF avm_binary_op_id{};
FF avm_binary_mem_tag_ctr_shift{};
FF avm_binary_acc_ic{};
FF avm_binary_bin_ia_bytes{};
FF avm_binary_bin_ib_bytes{};
FF avm_binary_mem_tag_ctr_inv{};
FF avm_binary_acc_ib_shift{};
FF avm_binary_mem_tag_ctr{};
FF avm_binary_acc_ic_shift{};
};

inline std::string get_relation_label_avm_binary(int index)
{
switch (index) {
case 1:
return "OP_ID_REL";
case 9:
return "ACC_REL_C";

case 7:
return "ACC_REL_A";

case 1:
return "OP_ID_REL";

case 2:
return "MEM_TAG_REL";

case 8:
return "ACC_REL_B";

case 9:
return "ACC_REL_C";

case 3:
return "BIN_SEL_CTR_REL";

case 2:
return "MEM_TAG_REL";
}
return std::to_string(index);
}
Expand Down
Loading

0 comments on commit f429a09

Please sign in to comment.