commit 482fabd
zzo38
·
2023-10-08 06:00:37 +0000 UTC
parent 796fac6
Improve speed of BLAKE2s.
1 files changed,
+20,
-14
+20,
-14
1@@ -92,27 +92,33 @@
2 pbh LITr -bl LDZr STZ2r
3 }
4
5-@G ( a* b* c* d* sigma* -- sigma* )
6- .dx STZ2 .cx STZ2 .bx STZ2 .ax STZ2
7- G1 SWP2k pdl pdh SWP2
8- G2 \c rotate INC
9- G1 ROT ROT STH2k pdl SWP DUP2 pdh STH2r
10- G2 \7 rotate INC
11- JMP2r
12+ ( hi1* lo1* hi2* lo2* -- lo* hi* )
13+ \\ Add 32-bit numbers and swap high/low halfs
14+%asw {
15+ ROT2 STH2k ADD2 STH2k ROT2 ROT2 GTH2r #00 STHr ADD2 ADD2
16+}
17
18-@G1 ( sigma* -- sigma* adh* adl* )
19+ ( sigma* -- sigma* adh* adl* )
20+%G1 {
21 LDAk LDZ2k ROT INC INC LDZ2
22 gah gal asw SWP2 gbh gbl asw
23 SWP2k pal pah
24- gdh EOR2 SWP2 gdl EOR2 JMP2r
25+ gdh EOR2 SWP2 gdl EOR2
26+}
27
28-@G2 ( dh* dl* -- cl* cbh* )
29+ ( dh* dl* -- cl* cbh* )
30+%G2 {
31 gch gcl asw SWP2k pcl pch
32- gbh EOR2 JMP2r
33+ gbh EOR2
34+}
35
36-@asw ( hi1* lo1* hi2* lo2* -- lo* hi* )
37- \\ Add 32-bit numbers and swap high/low halfs
38- ROT2 STH2k ADD2 STH2k ROT2 ROT2 GTH2r #00 STHr ADD2 ADD2 JMP2r
39+@G ( a* b* c* d* sigma* -- sigma* )
40+ .dx STZ2 .cx STZ2 .bx STZ2 .ax STZ2
41+ G1 SWP2k pdl pdh SWP2
42+ G2 \c rotate INC
43+ G1 ROT ROT STH2k pdl SWP DUP2 pdh STH2r
44+ G2 \7 rotate INC
45+ JMP2r
46
47 @hex ( x -- )
48 DUP #04 SFT [& #0f AND ]@