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) \ 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) \ #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) \ PROLD(a, TMP0, 12) \
VLR TMP0, TMP1 \ VLR TMP0, TMP4 \
VLREPF (index*4)(R3), TMP2 \ VLREPF (index*4)(R3), TMP2 \
VAF TMP2, TMP0, TMP0 \ VAF TMP2, TMP0, TMP0 \
VAF e, TMP0, TMP0 \ VAF e, TMP0, TMP0 \
PROLD(TMP0, TMP2, 7) \ // TMP2 = SS1 PROLD(TMP0, TMP2, 7) \ // TMP2 = SS1
VX TMP2, TMP1, TMP0 \ // TMP0 = SS2 VX TMP2, TMP4, TMP0 \ // TMP0 = SS2
VO a, b, TMP3 \ VO a, b, TMP3 \
VN a, b, TMP1 \ VN a, b, TMP4 \
VN c, TMP3, TMP3 \ VN c, TMP3, TMP3 \
VO TMP1, TMP3, TMP1 \ // (a AND b) OR (a AND c) OR (b AND c) VO TMP4, TMP3, TMP4 \ // (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 VAF TMP4, d, TMP4 \ // (a AND b) OR (a AND c) OR (b AND c) + d
loadWordByIndex(TMP3, index) \ // Wj loadWordByIndex(TMP3, index) \ // Wj
VX TMP3, TMP4, TMP4 \ // Wj XOR Wj+4 VX TMP3, TMP1, TMP1 \ // 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 TMP4, TMP1, TMP4 \ // (a AND b) OR (a AND c) OR (b AND c) + d + (Wt XOR Wt+4)
VAF TMP1, TMP0, TMP1 \ // TT1 VAF TMP4, TMP0, TMP4 \ // TT1
VAF h, TMP3, TMP3 \ // Wt + h VAF h, TMP3, TMP3 \ // Wt + h
VAF TMP2, TMP3, TMP3 \ // Wt + h + SS1 VAF TMP2, TMP3, TMP3 \ // Wt + h + SS1
VX f, g, TMP4 \ VX f, g, TMP1 \
VN TMP4, e, TMP4 \ VN TMP1, e, TMP1 \
VX g, TMP4, TMP4 \ // (f XOR g) AND e XOR g VX g, TMP1, TMP1 \ // (f XOR g) AND e XOR g
VAF TMP3, TMP4, TMP3 \ // TT2 VAF TMP3, TMP1, TMP3 \ // TT2
VLR b, TMP4 \ VLR b, TMP1 \
PROLD(TMP4, b, 9) \ // b = b <<< 9 PROLD(TMP1, b, 9) \ // b = b <<< 9
VLR TMP1, h \ // h = TT1 VLR TMP4, h \ // h = TT1
VLR f, TMP4 \ VLR f, TMP1 \
PROLD(TMP4, f, 19) \ // f = f <<< 19 PROLD(TMP1, f, 19) \ // f = f <<< 19
PROLD(TMP3, TMP4, 9) \ // TMP4 = TT2 <<< 9 PROLD(TMP3, TMP1, 9) \ // TMP1 = TT2 <<< 9
PROLD(TMP4, TMP0, 8) \ // TMP0 = TT2 <<< 17 PROLD(TMP1, TMP0, 8) \ // TMP0 = TT2 <<< 17
VX TMP3, TMP4, TMP4 \ // TMP4 = TT2 XOR (TT2 <<< 9) VX TMP3, TMP1, TMP1 \ // TMP1 = TT2 XOR (TT2 <<< 9)
VX TMP4, TMP0, d \ // d = TT2 XOR (TT2 <<< 9) XOR (TT2 <<< 17) VX TMP1, TMP0, d \ // d = TT2 XOR (TT2 <<< 9) XOR (TT2 <<< 17)
// func copyResultsBy4(dig *uint32, dst *byte) // func copyResultsBy4(dig *uint32, dst *byte)
TEXT ·copyResultsBy4(SB),NOSPLIT,$0 TEXT ·copyResultsBy4(SB),NOSPLIT,$0