From 0cfe79021078ceedaa4fe8656ad2e36f7b8d9fac Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Wed, 9 Nov 2022 14:41:41 -0800 Subject: [PATCH] updates --- .../cpu/kernel/asm/hash/blake/compression.asm | 21 +++++++++++++++++++ .../kernel/asm/hash/blake/initial_state.asm | 16 -------------- evm/src/cpu/kernel/asm/hash/blake/store.asm | 2 +- 3 files changed, 22 insertions(+), 17 deletions(-) delete mode 100644 evm/src/cpu/kernel/asm/hash/blake/initial_state.asm diff --git a/evm/src/cpu/kernel/asm/hash/blake/compression.asm b/evm/src/cpu/kernel/asm/hash/blake/compression.asm index 7dc55a72..f06df538 100644 --- a/evm/src/cpu/kernel/asm/hash/blake/compression.asm +++ b/evm/src/cpu/kernel/asm/hash/blake/compression.asm @@ -1,3 +1,18 @@ +%macro blake_initial_state + %blake_iv(7) + %blake_iv(6) + %blake_iv(5) + %blake_iv(4) + %blake_iv(3) + %blake_iv(2) + %blake_iv(1) + // stack: IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7 + PUSH 0x01010040 // params: key = 00, digest_size = 64 = 0x40 + %blake_iv(0) + XOR + // stack: IV_0 ^ params, IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7 +%endmacro + %macro blake_internal_state_addr PUSH 0 // stack: 0 @@ -13,6 +28,12 @@ %endmacro global blake_compression: + %blake_initial_state + // stack: t_0, t_1, h_0, h_1, h_2, h_3, h_4, h_5, h_6, h_7 + %stack: () -> (0, 0, 0) + // stack: cur_block = 0, t_0 = 0, t_1 = 0, h_0, h_1, h_2, h_3, h_4, h_5, h_6, h_7 + + // stack: h_0, ..., h_7, t_0, t_1, f_0, f_1, m_0, ..., m_15 %blake_internal_state_addr // stack: start, h_0, ..., h_7, t_0, t_1, f_0, f_1, m_0, ..., m_15 diff --git a/evm/src/cpu/kernel/asm/hash/blake/initial_state.asm b/evm/src/cpu/kernel/asm/hash/blake/initial_state.asm deleted file mode 100644 index 4f1154ad..00000000 --- a/evm/src/cpu/kernel/asm/hash/blake/initial_state.asm +++ /dev/null @@ -1,16 +0,0 @@ -%macro blake_initial_state - %blake_iv(7) - %blake_iv(6) - %blake_iv(5) - %blake_iv(4) - %blake_iv(3) - %blake_iv(2) - %blake_iv(1) - // stack: IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7 - PUSH 0x01010040 // params: key = 00, digest_size = 64 = 0x40 - %blake_iv(0) - XOR - // stack: IV_0 ^ params, IV_1, IV_2, IV_3, IV_4, IV_5, IV_6, IV_7 - %stack () -> (0, 0) - // stack: c_0 = 0, c_1 = 0, h_0, h_1, h_2, h_3, h_4, h_5, h_6, h_7 -%endmacro diff --git a/evm/src/cpu/kernel/asm/hash/blake/store.asm b/evm/src/cpu/kernel/asm/hash/blake/store.asm index 4862b53b..28cfa187 100644 --- a/evm/src/cpu/kernel/asm/hash/blake/store.asm +++ b/evm/src/cpu/kernel/asm/hash/blake/store.asm @@ -36,4 +36,4 @@ store_end: // stack: addr, counter, retdest %pop2 // stack: retdest - %jump(blake_pad) + %jump(blake_compression)