debug blockMultBy4 3

This commit is contained in:
Sun Yimin 2024-09-04 14:49:26 +08:00 committed by GitHub
parent d18ea90a25
commit d79b6b3e14
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -127,38 +127,38 @@ GLOBL mask<>(SB), 8, $64
ROUND_00_11(index, const, a, b, c, d, e, f, g, h) \
#define ROUND_16_63(index, const, a, b, c, d, e, f, g, h) \
MESSAGE_SCHEDULE(index) \ // V11 is Wt+4 now, Pls do not use it
MESSAGE_SCHEDULE(index) \ // TMP1 is Wt+4 now, Pls do not use it
PROLD(a, TMP0, 12) \
VLR TMP0, TMP1 \
VLR TMP0, TMP4 \
VLREPF (index*4)(R3), TMP2 \
VAF TMP2, TMP0, TMP0 \
VAF e, TMP0, TMP0 \
PROLD(TMP0, TMP2, 7) \ // TMP2 = SS1
VX TMP2, TMP1, TMP0 \ // TMP0 = SS2
VX TMP2, TMP4, TMP0 \ // TMP0 = SS2
VO a, b, TMP3 \
VN a, b, TMP1 \
VN a, b, TMP4 \
VN c, TMP3, TMP3 \
VO TMP1, TMP3, TMP1 \ // (a AND b) OR (a AND c) OR (b AND c)
VAF TMP1, d, TMP1 \ // (a AND b) OR (a AND c) OR (b AND c) + d
VO TMP4, TMP3, TMP4 \ // (a AND b) OR (a AND c) OR (b AND c)
VAF TMP4, d, TMP4 \ // (a AND b) OR (a AND c) OR (b AND c) + d
loadWordByIndex(TMP3, index) \ // Wj
VX TMP3, TMP4, TMP4 \ // Wj XOR Wj+4
VAF TMP1, TMP4, TMP1 \ // (a AND b) OR (a AND c) OR (b AND c) + d + (Wt XOR Wt+4)
VAF TMP1, TMP0, TMP1 \ // TT1
VX TMP3, TMP1, TMP1 \ // Wj XOR Wj+4
VAF TMP4, TMP1, TMP4 \ // (a AND b) OR (a AND c) OR (b AND c) + d + (Wt XOR Wt+4)
VAF TMP4, TMP0, TMP4 \ // TT1
VAF h, TMP3, TMP3 \ // Wt + h
VAF TMP2, TMP3, TMP3 \ // Wt + h + SS1
VX f, g, TMP4 \
VN TMP4, e, TMP4 \
VX g, TMP4, TMP4 \ // (f XOR g) AND e XOR g
VAF TMP3, TMP4, TMP3 \ // TT2
VLR b, TMP4 \
PROLD(TMP4, b, 9) \ // b = b <<< 9
VLR TMP1, h \ // h = TT1
VLR f, TMP4 \
PROLD(TMP4, f, 19) \ // f = f <<< 19
PROLD(TMP3, TMP4, 9) \ // TMP4 = TT2 <<< 9
PROLD(TMP4, TMP0, 8) \ // TMP0 = TT2 <<< 17
VX TMP3, TMP4, TMP4 \ // TMP4 = TT2 XOR (TT2 <<< 9)
VX TMP4, TMP0, d \ // d = TT2 XOR (TT2 <<< 9) XOR (TT2 <<< 17)
VX f, g, TMP1 \
VN TMP1, e, TMP1 \
VX g, TMP1, TMP1 \ // (f XOR g) AND e XOR g
VAF TMP3, TMP1, TMP3 \ // TT2
VLR b, TMP1 \
PROLD(TMP1, b, 9) \ // b = b <<< 9
VLR TMP4, h \ // h = TT1
VLR f, TMP1 \
PROLD(TMP1, f, 19) \ // f = f <<< 19
PROLD(TMP3, TMP1, 9) \ // TMP1 = TT2 <<< 9
PROLD(TMP1, TMP0, 8) \ // TMP0 = TT2 <<< 17
VX TMP3, TMP1, TMP1 \ // TMP1 = TT2 XOR (TT2 <<< 9)
VX TMP1, TMP0, d \ // d = TT2 XOR (TT2 <<< 9) XOR (TT2 <<< 17)
// func copyResultsBy4(dig *uint32, dst *byte)
TEXT ·copyResultsBy4(SB),NOSPLIT,$0