mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-11 10:13:09 +00:00
fix stack manipulation
This commit is contained in:
parent
7342b96583
commit
0dfd1b6450
@ -25,16 +25,38 @@
|
||||
/// state[i], stateL[i], stateR[i], output[i], virt, retdest
|
||||
|
||||
global compress:
|
||||
// stack: STATE, virt, retdest
|
||||
%stack (stack) -> (0, 0, 16, 5, 1, stack)
|
||||
%stack (CONSTS: 5, virt, switch, STATE: 5) -> (STATE, CONSTS, virt, switch, STATE)
|
||||
// stack: STATE, 0, 0, 16, 5, 1, virt, switch, STATE, virt, retdest
|
||||
// stack: STATE, virt, retdest
|
||||
PUSH switch
|
||||
DUP7
|
||||
PUSH 1
|
||||
PUSH 5
|
||||
PUSH 16
|
||||
PUSH 0
|
||||
PUSH 0
|
||||
// stack: 0, 0, 16, 5, 1, virt, switch, STATE, virt, retdest
|
||||
DUP12
|
||||
DUP12
|
||||
DUP12
|
||||
DUP12
|
||||
DUP12
|
||||
// stack: STATE, 0, 0, 16, 5, 1, virt, switch, STATE, virt, retdest
|
||||
%jump(loop)
|
||||
switch:
|
||||
// stack: STATEL, STATE, virt, retdest
|
||||
%stack (STATEL: 5, STATE: 5) -> (STATE, STATEL, STATE)
|
||||
%stack (STATE: 5) -> (STATE, 0, 0, 16, 5, 0)
|
||||
// %stack (STATEL: 5, STATE: 5, virt) -> (STATE, 0, 0, 16, 5, 0, virt, mix, STATEL, STATE, virt)
|
||||
// stack: STATEL, STATE, virt, retdest
|
||||
PUSH mix
|
||||
DUP12
|
||||
PUSH 0
|
||||
PUSH 5
|
||||
PUSH 16
|
||||
// stack: 16, 5, 0, virt, mix, STATEL, STATE, virt, retdest
|
||||
DUP15
|
||||
DUP15
|
||||
DUP15
|
||||
DUP15
|
||||
DUP15
|
||||
// stack: STATE, 16, 5, 0, virt, mix, STATEL, STATE, virt, retdest
|
||||
%stack (STATE: 5) -> (STATE, 0, 0)
|
||||
// stack: STATE, 0, 0, 16, 5, 0, virt, mix, STATEL, STATE, virt, retdest
|
||||
%jump(loop)
|
||||
mix:
|
||||
// stack: r0, r1, r2, r3, r4, l0, l1, l2, l3, l4, s0, s1, s2, s3, s4, VR, RD
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user