From 1f14ae9850ee280cad673adbc7b8430838b7d81b Mon Sep 17 00:00:00 2001 From: Dmitry Vagner Date: Fri, 24 Mar 2023 11:31:32 -0700 Subject: [PATCH] skeleton --- evm/src/cpu/kernel/asm/curve/bls381/util.asm | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/evm/src/cpu/kernel/asm/curve/bls381/util.asm b/evm/src/cpu/kernel/asm/curve/bls381/util.asm index a4e846cb..1ef99a8c 100644 --- a/evm/src/cpu/kernel/asm/curve/bls381/util.asm +++ b/evm/src/cpu/kernel/asm/curve/bls381/util.asm @@ -51,3 +51,40 @@ global test_mul_fp381: global test_sub_fp381: %sub_fp381 %jump(0xdeadbeef) + + +%macro add_fp381_2 + // stack: x: 2, x_: 2, y: 2, y_: 2 + %stack (x: 2, x_: 2, y: 2, y_: 2) -> (y_, x_, y, x) + // stack: y_: 2, x_: 2, y: 2, x: 2 + %add_fp381 + // stack: z_: 2, y: 2, x: 2 + %stack (z_: 2, y: 2, x: 2) -> (x, y, z_) + // stack: x: 2, y: 2, z_: 2 + %add_fp381 + // stack: z: 2, z_: 2 +%endmacro + +%macro mul_fp381_2 + // stack: x: 2, x_: 2, y: 2, y_: 2 + %stack (x: 2, x_: 2, y: 2, y_: 2) -> (y_, x_, y, x) + // stack: y_: 2, x_: 2, y: 2, x: 2 + %add_fp381 + // stack: z_: 2, y: 2, x: 2 + %stack (z_: 2, y: 2, x: 2) -> (x, y, z_) + // stack: x: 2, y: 2, z_: 2 + %add_fp381 + // stack: z: 2, z_: 2 +%endmacro + +%macro sub_fp381_2 + // stack: x: 2, x_: 2, y: 2, y_: 2 + %stack (x: 2, x_: 2, y: 2, y_: 2) -> (y_, x_, y, x) + // stack: y_: 2, x_: 2, y: 2, x: 2 + %add_fp381 + // stack: z_: 2, y: 2, x: 2 + %stack (z_: 2, y: 2, x: 2) -> (x, y, z_) + // stack: x: 2, y: 2, z_: 2 + %add_fp381 + // stack: z: 2, z_: 2 +%endmacro \ No newline at end of file