From 06e0dd643b36922a892a9483cfa35ca745b0584d Mon Sep 17 00:00:00 2001 From: Dmitry Vagner Date: Thu, 20 Oct 2022 17:35:43 -0400 Subject: [PATCH] fp6 as fn --- evm/src/cpu/kernel/asm/fields/fp12_mul.asm | 5 ++++- evm/src/cpu/kernel/asm/fields/fp6_mul.asm | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/evm/src/cpu/kernel/asm/fields/fp12_mul.asm b/evm/src/cpu/kernel/asm/fields/fp12_mul.asm index 6866a5f9..cc6ba5bd 100644 --- a/evm/src/cpu/kernel/asm/fields/fp12_mul.asm +++ b/evm/src/cpu/kernel/asm/fields/fp12_mul.asm @@ -1,3 +1,5 @@ +/// Note: uncomment this to test + global test_mul_Fp12: // stack: in0, f, in0', f', in1, g, in1', g', in1, out, in0, out %store_fp6 @@ -19,6 +21,7 @@ return_on_stack: // stack: h, h' %jump(0xdeadbeef) + /// fp6 macros: /// macro | num | ops | cost /// ------------------------- @@ -27,7 +30,7 @@ return_on_stack: /// dup | 5 | 6 | 30 /// swap | 4 | 16 | 64 /// add | 4 | 16 | 64 -/// sub | 1 | 17 | 17 +/// subr | 1 | 17 | 17 /// mul | 3 | 156 | 468 /// i9 | 1 | 9 | 9 /// diff --git a/evm/src/cpu/kernel/asm/fields/fp6_mul.asm b/evm/src/cpu/kernel/asm/fields/fp6_mul.asm index d4d92689..3ee0d600 100644 --- a/evm/src/cpu/kernel/asm/fields/fp6_mul.asm +++ b/evm/src/cpu/kernel/asm/fields/fp6_mul.asm @@ -84,7 +84,7 @@ global mul_fp6: SUBFP254 ADDFP254 // stack: E0 = 9CDX - CDX_ + C0D0 , CDX , C0D0_, CDX_ - SWAP15 + SWAP10 SWAP3 // stack: CDX_ , CDX , C0D0_ PUSH 9 @@ -234,3 +234,5 @@ global mul_fp6: ADDFP254 // stack: E2_ = c0d2_ + c0_d2 + c1d1_ + c1_d1 + c2d0_ + c2_d0 SWAP5 + // stack: jumpdest, E0, E0_, E1, E1_, E2, E2_ + JUMP