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 ]@