From de8637ce8cba53b0d7a036bc8264ab70d0bec460 Mon Sep 17 00:00:00 2001 From: Dmitry Vagner Date: Thu, 29 Dec 2022 14:03:52 -0800 Subject: [PATCH] name --- evm/src/bn254.rs | 7 +++++++ .../asm/curve/bn254/field_arithmetic/fp12_mul.asm | 6 +++--- .../asm/curve/bn254/field_arithmetic/power.asm | 4 ++-- .../asm/curve/bn254/field_arithmetic/utils.asm | 2 +- evm/src/cpu/kernel/tests/bn254.rs | 13 ++++++++----- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/evm/src/bn254.rs b/evm/src/bn254.rs index d07ab02e..39332da4 100644 --- a/evm/src/bn254.rs +++ b/evm/src/bn254.rs @@ -731,6 +731,8 @@ pub fn miller_loop(p: Curve, q: TwistedCurve) -> Fp12 { pub fn tate(p: Curve, q: TwistedCurve) -> Fp12 { let mut out = miller_loop(p, q); + println!("POSTMILLER: {:#?}", out); + let inv = inv_fp12(out); out = frob_fp12(6, out); out = mul_fp12(out, inv); @@ -738,7 +740,12 @@ pub fn tate(p: Curve, q: TwistedCurve) -> Fp12 { let acc = frob_fp12(2, out); out = mul_fp12(out, acc); + println!("PREPOWER: {:#?}", out); + let pow = power(out); + + println!("POWER: {:#?}", pow); + out = frob_fp12(3, out); mul_fp12(out, pow) diff --git a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/fp12_mul.asm b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/fp12_mul.asm index 5c2471d9..a6ec278b 100644 --- a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/fp12_mul.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/fp12_mul.asm @@ -1,11 +1,11 @@ /// Note: uncomment this to test global test_mul_fp12: - // stack: inA, f, f', inB, g, g', mul_dest, inA, inB, out, ret_stack, out + // stack: inA, f, f', inB, g, g', mul_dest, inA, inB, out, return_fp12_on_stack, out %store_fp12 - // stack: inB, g, g', mul_dest, inA, inB, out, ret_stack, out + // stack: inB, g, g', mul_dest, inA, inB, out, return_fp12_on_stack, out %store_fp12 - // stack: mul_dest, inA, inB, out, ret_stack, out + // stack: mul_dest, inA, inB, out, return_fp12_on_stack, out JUMP /////////////////////////////////////// diff --git a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/power.asm b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/power.asm index af0eb48b..8fc28e9e 100644 --- a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/power.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/power.asm @@ -1,7 +1,7 @@ global test_pow: - // stack: ptr, f, ptr, out, ret_stack, out + // stack: ptr, f, ptr, out, return_fp12_on_stack, out %store_fp12 - // stack: ptr, out, ret_stack, out + // stack: ptr, out, return_fp12_on_stack, out %jump(power) /// def power(acc): diff --git a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/utils.asm b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/utils.asm index f134c1aa..ab02f897 100644 --- a/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/utils.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/utils.asm @@ -1071,7 +1071,7 @@ %mstore_kernel_general %endmacro -global ret_stack: +global return_fp12_on_stack: // stack: out %load_fp12 %jump(0xdeadbeef) diff --git a/evm/src/cpu/kernel/tests/bn254.rs b/evm/src/cpu/kernel/tests/bn254.rs index cc29dc43..3a4ddc1e 100644 --- a/evm/src/cpu/kernel/tests/bn254.rs +++ b/evm/src/cpu/kernel/tests/bn254.rs @@ -46,7 +46,7 @@ fn make_mul_stack(f: Fp12, g: Fp12, mul_label: &str) -> Vec { in0, in1, out, - make_label("ret_stack"), + make_label("return_fp12_on_stack"), out, ], ]) @@ -133,7 +133,7 @@ fn test_power() -> Result<()> { let stack = make_stack(vec![ vec![ptr], fp12_to_vec(f), - vec![ptr, out, make_label("ret_stack"), out], + vec![ptr, out, make_label("return_fp12_on_stack"), out], ]); let output: Vec = get_output("test_pow", stack); @@ -151,9 +151,12 @@ fn make_tate_stack(p: Curve, q: TwistedCurve) -> Vec { let p_: Vec = p.into_iter().collect(); let q_: Vec = q.into_iter().flatten().collect(); - let ret_stack = make_label("ret_stack"); - - make_stack(vec![vec![ptr], p_, q_, vec![ptr, out, ret_stack, out]]) + make_stack(vec![ + vec![ptr], + p_, + q_, + vec![ptr, out, make_label("return_fp12_on_stack"), out], + ]) } #[test]