more %stack sha2 cleanup

This commit is contained in:
Nicholas Ward 2022-09-09 12:50:43 -07:00
parent 5ca5a3b3c8
commit 140242c556
3 changed files with 4 additions and 20 deletions

View File

@ -65,13 +65,7 @@ sha2_gen_message_schedule_from_block_0_end:
POP
PUSH 8
// stack: counter=8, output_addr, block[0], block[1], retdest
SWAP2
// stack: block[0], output_addr, counter, block[1], retdest
SWAP3
// stack: block[1], output_addr, counter, block[0], retdest
SWAP2
// stack: counter, output_addr, block[1], block[0], retdest
SWAP1
%stack (counter, out, b0, b1) -> (out, counter, b1, b0)
// stack: output_addr, counter, block[1], block[0], retdest
%add_const(64)
// stack: output_addr + 64, counter, block[1], block[0], retdest
@ -191,13 +185,7 @@ sha2_gen_message_schedule_remaining_loop:
%add_u32
%add_u32
// stack: sigma_1(x[output_addr - 2*4]) + x[output_addr - 16*4] + sigma_0(x[output_addr - 15*4]) + x[output_addr - 7*4], output_addr, counter, block[0], block[1], retdest
SWAP1
// stack: output_addr, sigma_1(x[output_addr - 2*4]) + x[output_addr - 16*4] + sigma_0(x[output_addr - 15*4]) + x[output_addr - 7*4], counter, block[0], block[1], retdest
DUP1
// stack: output_addr, output_addr, sigma_1(x[output_addr - 2*4]) + x[output_addr - 16*4] + sigma_0(x[output_addr - 15*4]) + x[output_addr - 7*4], counter, block[0], block[1], retdest
SWAP2
// stack: sigma_1(x[output_addr - 2*4]) + x[output_addr - 16*4] + sigma_0(x[output_addr - 15*4]) + x[output_addr - 7*4], output_addr, output_addr, counter, block[0], block[1], retdest
SWAP1
DUP2
// stack: output_addr, sigma_1(x[output_addr - 2*4]) + x[output_addr - 16*4] + sigma_0(x[output_addr - 15*4]) + x[output_addr - 7*4], output_addr, counter, block[0], block[1], retdest
%mstore_kernel_general_u32
// stack: output_addr, counter, block[0], block[1], retdest

View File

@ -171,7 +171,7 @@
%macro sha2_majority
// stack: x, y, z
%stack ((a: 3)) -> (a, a)
%stack ((xyz: 3)) -> (xyz, xyz)
// stack: x, y, z, x, y, z
AND
// stack: x and y, z, x, y, z

View File

@ -15,11 +15,7 @@ sha2_store_loop:
ISZERO
%jumpi(sha2_store_end)
// stack: addr, counter, x[num_bytes-counter], ... , x[num_bytes-1], retdest
DUP1
// stack: addr, addr, counter, x[num_bytes-counter], ... , x[num_bytes-1], retdest
SWAP3
// stack: x[num_bytes-counter], addr, counter, addr, ... , x[num_bytes-1], retdest
SWAP1
%stack (addr, counter, val) -> (addr, val, counter, addr)
// stack: addr, x[num_bytes-counter], counter, addr, ... , x[num_bytes-1], retdest
%mstore_kernel_general
// stack: counter, addr, ... , x[num_bytes-1], retdest