mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-05-22 09:49:26 +00:00
small optimizations
This commit is contained in:
parent
213ba8ff50
commit
e5f8632b5e
@ -209,10 +209,9 @@ hash_generate_return:
|
|||||||
PUSH 0
|
PUSH 0
|
||||||
%mload_kernel_general
|
%mload_kernel_general
|
||||||
// stack: num_blocks, cur_block + 1, h_0', h_1', h_2', h_3', h_4', h_5', h_6', h_7', cur_block + 1, retdest
|
// stack: num_blocks, cur_block + 1, h_0', h_1', h_2', h_3', h_4', h_5', h_6', h_7', cur_block + 1, retdest
|
||||||
EQ
|
GT
|
||||||
// stack: last_block, h_0', h_1', h_2', h_3', h_4', h_5', h_6', h_7', cur_block + 1, retdest
|
// stack: not_last_block, h_0', h_1', h_2', h_3', h_4', h_5', h_6', h_7', cur_block + 1, retdest
|
||||||
%jumpi(compression_end)
|
%jumpi(compression_loop)
|
||||||
%jump(compression_loop)
|
|
||||||
compression_end:
|
compression_end:
|
||||||
// stack: h_0', h_1', h_2', h_3', h_4', h_5', h_6', h_7', cur_block + 1, retdest
|
// stack: h_0', h_1', h_2', h_3', h_4', h_5', h_6', h_7', cur_block + 1, retdest
|
||||||
|
|
||||||
|
|||||||
@ -180,9 +180,7 @@ compression_loop:
|
|||||||
// stack: a[i+1], b[i+1], c[i+1], d[i+1], e[i+1], f[i+1], g[i+1], h[i+1], num_blocks new, scratch_space_addr, message_schedule_addr new, (i+1)%64, retdest
|
// stack: a[i+1], b[i+1], c[i+1], d[i+1], e[i+1], f[i+1], g[i+1], h[i+1], num_blocks new, scratch_space_addr, message_schedule_addr new, (i+1)%64, retdest
|
||||||
DUP12
|
DUP12
|
||||||
// stack: (i+1)%64, a[i+1], b[i+1], c[i+1], d[i+1], e[i+1], f[i+1], g[i+1], h[i+1], num_blocks new, scratch_space_addr, message_schedule_addr new, (i+1)%64, retdest
|
// stack: (i+1)%64, a[i+1], b[i+1], c[i+1], d[i+1], e[i+1], f[i+1], g[i+1], h[i+1], num_blocks new, scratch_space_addr, message_schedule_addr new, (i+1)%64, retdest
|
||||||
ISZERO
|
%jumpi(compression_loop)
|
||||||
%jumpi(compression_end_block)
|
|
||||||
%jump(compression_loop)
|
|
||||||
compression_end_block:
|
compression_end_block:
|
||||||
// Add the initial values of the eight working variables (from the start of this block's compression) back into them.
|
// Add the initial values of the eight working variables (from the start of this block's compression) back into them.
|
||||||
// stack: a[64], b[64], c[64], d[64], e[64], f[64], g[64], h[64], num_blocks, scratch_space_addr, message_schedule_addr, i, retdest
|
// stack: a[64], b[64], c[64], d[64], e[64], f[64], g[64], h[64], num_blocks, scratch_space_addr, message_schedule_addr, i, retdest
|
||||||
|
|||||||
@ -55,9 +55,7 @@ gen_message_schedule_from_block_0_loop:
|
|||||||
// stack: counter, output_addr - 4, block[0] >> 32, block[1], retdest
|
// stack: counter, output_addr - 4, block[0] >> 32, block[1], retdest
|
||||||
%decrement
|
%decrement
|
||||||
DUP1
|
DUP1
|
||||||
ISZERO
|
%jumpi(gen_message_schedule_from_block_0_loop)
|
||||||
%jumpi(gen_message_schedule_from_block_0_end)
|
|
||||||
%jump(gen_message_schedule_from_block_0_loop)
|
|
||||||
gen_message_schedule_from_block_0_end:
|
gen_message_schedule_from_block_0_end:
|
||||||
// stack: old counter=0, output_addr, block[0], block[1], retdest
|
// stack: old counter=0, output_addr, block[0], block[1], retdest
|
||||||
POP
|
POP
|
||||||
@ -185,9 +183,7 @@ gen_message_schedule_remaining_loop:
|
|||||||
%decrement
|
%decrement
|
||||||
// stack: counter - 1, output_addr + 4, block[0], block[1], retdest
|
// stack: counter - 1, output_addr + 4, block[0], block[1], retdest
|
||||||
DUP1
|
DUP1
|
||||||
ISZERO
|
%jumpi(gen_message_schedule_remaining_loop)
|
||||||
%jumpi(gen_message_schedule_remaining_end)
|
|
||||||
%jump(gen_message_schedule_remaining_loop)
|
|
||||||
gen_message_schedule_remaining_end:
|
gen_message_schedule_remaining_end:
|
||||||
// stack: counter=0, output_addr, block[0], block[1], retdest
|
// stack: counter=0, output_addr, block[0], block[1], retdest
|
||||||
%pop4
|
%pop4
|
||||||
@ -230,9 +226,7 @@ gen_all_message_schedules_loop_end:
|
|||||||
// stack: cur_addr + 64, counter - 1, cur_output_addr + 256, output_addr, retdest
|
// stack: cur_addr + 64, counter - 1, cur_output_addr + 256, output_addr, retdest
|
||||||
DUP2
|
DUP2
|
||||||
// stack: counter - 1, cur_addr + 64, counter - 1, cur_output_addr + 256, output_addr, retdest
|
// stack: counter - 1, cur_addr + 64, counter - 1, cur_output_addr + 256, output_addr, retdest
|
||||||
ISZERO
|
%jumpi(gen_all_message_schedules_loop)
|
||||||
%jumpi(gen_all_message_schedules_end)
|
|
||||||
%jump(gen_all_message_schedules_loop)
|
|
||||||
gen_all_message_schedules_end:
|
gen_all_message_schedules_end:
|
||||||
// stack: cur_addr + 64, counter - 1, cur_output_addr + 256, output_addr, retdest
|
// stack: cur_addr + 64, counter - 1, cur_output_addr + 256, output_addr, retdest
|
||||||
%pop3
|
%pop3
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user