From 77798f889e6eddbcc73e3a08bc9ca326c9cd5df9 Mon Sep 17 00:00:00 2001 From: Dmitry Vagner Date: Thu, 29 Dec 2022 14:12:03 -0800 Subject: [PATCH] remove loop endpoint --- evm/src/bn254.rs | 3 +-- .../kernel/asm/curve/bn254/curve_arithmetic/constants.asm | 2 +- .../cpu/kernel/asm/curve/bn254/field_arithmetic/power.asm | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/evm/src/bn254.rs b/evm/src/bn254.rs index 39332da4..3e11e02f 100644 --- a/evm/src/bn254.rs +++ b/evm/src/bn254.rs @@ -444,8 +444,7 @@ pub fn inv_fp12(f: Fp12) -> Fp12 { } pub fn power(f: Fp12) -> Fp12 { - const EXPS4: [(usize, usize, usize); 65] = [ - (1, 1, 1), + const EXPS4: [(usize, usize, usize); 64] = [ (1, 1, 0), (1, 1, 1), (1, 1, 1), diff --git a/evm/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/constants.asm b/evm/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/constants.asm index 6c3e0bad..06853df5 100644 --- a/evm/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/constants.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/constants.asm @@ -14,7 +14,7 @@ global power_data_4: BYTES 010, 100, 110, 010, 110, 100, 110, 101, 101, 001 BYTES 001, 110, 110, 110, 010, 110, 101, 001, 010, 010 BYTES 110, 110, 110, 010, 101, 110, 101, 010, 101, 001 - BYTES 000, 111, 111, 110, 111 + BYTES 000, 111, 111, 110 global power_data_2: BYTES 11, 01, 11, 10, 11, 10, 01, 10, 00, 01 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 8fc28e9e..af7072d2 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 @@ -27,8 +27,8 @@ global power: // stack: 1, 1, 1, ptr, out, retdest %mstore_kernel_general(200) %mstore_kernel_general(224) %mstore_kernel_general(212) // stack: ptr, out, retdest {200: y0, 212: y2, 224: y4} - PUSH 65 PUSH 62 PUSH 65 - // stack: 65, 62, 65, ptr, out, retdest {200: y0, 212: y2, 224: y4} + PUSH 65 PUSH 62 PUSH 64 + // stack: 64, 62, 65, ptr, out, retdest {200: y0, 212: y2, 224: y4} %jump(power_loop_4) power_return: @@ -75,7 +75,7 @@ power_return_5: %jump(mul_fp12) /// def power_loop_4(): -/// for i in range(65): +/// for i in range(64): /// abc = load(i, power_data_4) /// if a: /// y4 *= acc