From 20169a5476c6b20ac1756e32f2aaff91ca5bdd27 Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Sat, 19 Nov 2022 14:50:17 -0800 Subject: [PATCH] debugging --- .../cpu/kernel/asm/hash/blake/compression.asm | 33 ++++++++++++++----- evm/src/cpu/kernel/tests/hash.rs | 7 ++-- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/evm/src/cpu/kernel/asm/hash/blake/compression.asm b/evm/src/cpu/kernel/asm/hash/blake/compression.asm index c0fdff9f..f3ac39e1 100644 --- a/evm/src/cpu/kernel/asm/hash/blake/compression.asm +++ b/evm/src/cpu/kernel/asm/hash/blake/compression.asm @@ -209,6 +209,7 @@ compression_loop: %mstore_kernel_general %increment %endrep + // stack: start + 8, invert_if_last_block, t, retdest PUSH 0 // stack: 0, start + 8, invert_if_last_block, t, retdest @@ -271,20 +272,36 @@ compression_loop: // stack: start, retdest PUSH 0 // stack: round=0, start, retdest - %rep 12 + %rep 1 // stack: round, start, retdest %call_blake_g_function(0, 4, 8, 12, 0, 1) - %call_blake_g_function(1, 5, 9, 13, 2, 3) - %call_blake_g_function(2, 6, 10, 14, 4, 5) - %call_blake_g_function(3, 7, 11, 15, 6, 7) - %call_blake_g_function(0, 5, 10, 15, 8, 9) - %call_blake_g_function(1, 6, 11, 12, 10, 11) - %call_blake_g_function(2, 7, 8, 13, 12, 13) - %call_blake_g_function(3, 4, 9, 14, 14, 15) + // %call_blake_g_function(1, 5, 9, 13, 2, 3) + // %call_blake_g_function(2, 6, 10, 14, 4, 5) + // %call_blake_g_function(3, 7, 11, 15, 6, 7) + // %call_blake_g_function(0, 5, 10, 15, 8, 9) + // %call_blake_g_function(1, 6, 11, 12, 10, 11) + // %call_blake_g_function(2, 7, 8, 13, 12, 13) + // %call_blake_g_function(3, 4, 9, 14, 14, 15) // stack: round, start, retdest %increment // stack: round + 1, start, retdest %endrep + + + %blake_internal_state_addr + %add_const(15) + %rep 16 + // stack: addr, ... + DUP1 + // stack: addr, addr, ... + %mload_kernel_general + // stack: val, addr, ... + SWAP1 + // stack: addr, val, ... + %decrement + %endrep + STOP + // stack: 12, start, retdest POP POP diff --git a/evm/src/cpu/kernel/tests/hash.rs b/evm/src/cpu/kernel/tests/hash.rs index 3481fae5..0d9b8d18 100644 --- a/evm/src/cpu/kernel/tests/hash.rs +++ b/evm/src/cpu/kernel/tests/hash.rs @@ -41,9 +41,7 @@ fn make_random_input() -> Vec { fn make_custom_input() -> Vec { // Hardcode a custom message vec![ - 86, 124, 206, 245, 74, 57, 250, 43, 60, 30, 254, 43, 143, 144, 242, 215, 13, 103, 237, 61, - 90, 105, 123, 250, 189, 181, 110, 192, 227, 57, 145, 46, 221, 238, 7, 181, 146, 111, 209, - 150, 31, 157, 229, 126, 206, 105, 37, 17, + 1, 2, 3, 4, 5, ] } @@ -117,6 +115,9 @@ fn test_hash_512(hash_fn_label: &str, standard_implementation: &dyn Fn(Vec) let random_stack = result_random.stack(); let custom_stack = result_custom.stack(); + dbg!(custom_stack); + // dbg!(result_custom.get_kernel_general_memory()); + // Extract the final output. let actual_random = combine_u256s(random_stack[0], random_stack[1]); let actual_custom = combine_u256s(custom_stack[0], custom_stack[1]);