diff --git a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/degree_12_mul.asm b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/degree_12_mul.asm index cd81e6e7..013822ec 100644 --- a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/degree_12_mul.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/degree_12_mul.asm @@ -95,7 +95,7 @@ mul_fp254_12_2: // stack: fg, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'} %store_fp254_6(12) // stack: g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg} - %swap_fp254_6 + %stack (x: 6, y: 6) -> (y, x) // stack: f', g+g', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg} PUSH mul_fp254_12_3 // stack: mul_fp254_12_3, f', g+g', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg} @@ -110,7 +110,7 @@ mul_fp254_12_3: // stack: (f+f')(g+g'), inB, out {0: sh(f'g'), 6: f'g', 12: fg} %load_fp254_6(12) // stack: fg, (f+f')(g+g'), inB, out {0: sh(f'g'), 6: f'g', 12: fg} - %swap_fp254_6 + %stack (x: 6, y: 6) -> (y, x) // stack: (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg} %dup_fp254_6_6 // stack: fg, (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg} @@ -213,7 +213,7 @@ global mul_fp254_12_sparse: // stack: g0 , f, f', inB, f, inB, f', out, f, inB, f', inA, inB, out %mul_fp254__fp254_6 // stack: g0 * f, f', inB, f, inB, f', out, f, inB, f', inA, inB, out - %swap_fp254_6 + %stack (x: 6, y: 6) -> (y, x) // stack: f' , g0 * f, inB, f, inB, f', out, f, inB, f', inA, inB, out DUP13 %add_const(8) diff --git a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/frobenius.asm b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/frobenius.asm index ed282696..a9b29689 100644 --- a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/frobenius.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/frobenius.asm @@ -250,12 +250,12 @@ global test_frob_fp254_6_3: %macro frobt1_2 PUSH 0x30644e72e131a0295e6dd9e7e0acccb0c28f069fbb966e3de4bd44e5607cfd48 - %mul_fp254__fp254_2 + %scale_fp254_2 %endmacro %macro frobt2_2 PUSH 0x59e26bcea0d48bacd4f263f1acdb5c4f5763473177fffffe - %mul_fp254__fp254_2 + %scale_fp254_2 %endmacro diff --git a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/util.asm b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/util.asm index c5262afd..676f8c59 100644 --- a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/util.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/util.asm @@ -23,7 +23,7 @@ // stack: a, -b %endmacro -%macro mul_fp254__fp254_2 +%macro scale_fp254_2 // stack: c, x, y SWAP2 // stack: y, x, c @@ -88,7 +88,6 @@ // fp254_6 macros -// cost: 6 loads + 6 dup/swaps + 5 adds = 6*4 + 6*1 + 5*2 = 40 %macro load_fp254_6 // stack: ptr DUP1 @@ -512,7 +511,7 @@ // cost: 18 // add two fp254_6 elements with a to-be-popped stack term separating them -// (f: 6, X, g: 6) -> (f + g: 6) +// (f: 6, X, g: 6) -> (f + g) %macro add_fp254_6_hole // stack: f0, f1, f2, f3, f4, f5, X, g0, g1, g2, g3, g4, g5 SWAP8