diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2025-07-21 08:14:08 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2025-07-21 08:45:02 +0200 |
| commit | d23ad559044af2f706d7b7a8ede05107b4c10cf7 (patch) | |
| tree | de316be9532b5693ffa17934eba6a89f1025828a /libbb | |
| parent | 77a49a61b2957f532c4a736fd3ddf1154aecc176 (diff) | |
libbb: change define names in SHA-NI code to match kernel source more closely
No code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
| -rw-r--r-- | libbb/hash_sha256_hwaccel_x86-32.S | 166 | ||||
| -rw-r--r-- | libbb/hash_sha256_hwaccel_x86-64.S | 166 |
2 files changed, 166 insertions, 166 deletions
diff --git a/libbb/hash_sha256_hwaccel_x86-32.S b/libbb/hash_sha256_hwaccel_x86-32.S index a0e4a571a..332b7513f 100644 --- a/libbb/hash_sha256_hwaccel_x86-32.S +++ b/libbb/hash_sha256_hwaccel_x86-32.S @@ -34,10 +34,10 @@ #define MSG %xmm0 #define STATE0 %xmm1 #define STATE1 %xmm2 -#define MSGTMP0 %xmm3 -#define MSGTMP1 %xmm4 -#define MSGTMP2 %xmm5 -#define MSGTMP3 %xmm6 +#define MSG0 %xmm3 +#define MSG1 %xmm4 +#define MSG2 %xmm5 +#define MSG3 %xmm6 #define XMMTMP %xmm7 @@ -46,9 +46,9 @@ .balign 8 # allow decoders to fetch at least 2 first insns sha256_process_block64_shaNI: - movu128 76+0*16(%eax), XMMTMP /* ABCD (little-endian dword order) */ + movu128 76+0*16(%eax), XMMTMP /* ABCD (shown least-significant-dword-first) */ movu128 76+1*16(%eax), STATE1 /* EFGH */ -/* shufps takes dwords 0,1 from *2nd* operand, and dwords 2,3 from 1st one */ +/* shufps: dwords 0,1 of the result are selected from *2nd* operand, and dwords 2,3 from 1st operand */ mova128 STATE1, STATE0 /* --- -------------- ABCD -- EFGH */ shufps SHUF(1,0,1,0), XMMTMP, STATE0 /* FEBA */ @@ -61,7 +61,7 @@ sha256_process_block64_shaNI: /* Rounds 0-3 */ movu128 0*16(DATA_PTR), MSG pshufb XMMTMP, MSG - mova128 MSG, MSGTMP0 + mova128 MSG, MSG0 paddd 0*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG @@ -70,170 +70,170 @@ sha256_process_block64_shaNI: /* Rounds 4-7 */ movu128 1*16(DATA_PTR), MSG pshufb XMMTMP, MSG - mova128 MSG, MSGTMP1 + mova128 MSG, MSG1 paddd 1*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP1, MSGTMP0 + sha256msg1 MSG1, MSG0 /* Rounds 8-11 */ movu128 2*16(DATA_PTR), MSG pshufb XMMTMP, MSG - mova128 MSG, MSGTMP2 + mova128 MSG, MSG2 paddd 2*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP2, MSGTMP1 + sha256msg1 MSG2, MSG1 /* Rounds 12-15 */ movu128 3*16(DATA_PTR), MSG pshufb XMMTMP, MSG /* ...to here */ - mova128 MSG, MSGTMP3 + mova128 MSG, MSG3 paddd 3*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP3, XMMTMP - palignr $4, MSGTMP2, XMMTMP - paddd XMMTMP, MSGTMP0 - sha256msg2 MSGTMP3, MSGTMP0 + mova128 MSG3, XMMTMP + palignr $4, MSG2, XMMTMP + paddd XMMTMP, MSG0 + sha256msg2 MSG3, MSG0 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP3, MSGTMP2 + sha256msg1 MSG3, MSG2 /* Rounds 16-19 */ - mova128 MSGTMP0, MSG + mova128 MSG0, MSG paddd 4*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP0, XMMTMP - palignr $4, MSGTMP3, XMMTMP - paddd XMMTMP, MSGTMP1 - sha256msg2 MSGTMP0, MSGTMP1 + mova128 MSG0, XMMTMP + palignr $4, MSG3, XMMTMP + paddd XMMTMP, MSG1 + sha256msg2 MSG0, MSG1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP0, MSGTMP3 + sha256msg1 MSG0, MSG3 /* Rounds 20-23 */ - mova128 MSGTMP1, MSG + mova128 MSG1, MSG paddd 5*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP1, XMMTMP - palignr $4, MSGTMP0, XMMTMP - paddd XMMTMP, MSGTMP2 - sha256msg2 MSGTMP1, MSGTMP2 + mova128 MSG1, XMMTMP + palignr $4, MSG0, XMMTMP + paddd XMMTMP, MSG2 + sha256msg2 MSG1, MSG2 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP1, MSGTMP0 + sha256msg1 MSG1, MSG0 /* Rounds 24-27 */ - mova128 MSGTMP2, MSG + mova128 MSG2, MSG paddd 6*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP2, XMMTMP - palignr $4, MSGTMP1, XMMTMP - paddd XMMTMP, MSGTMP3 - sha256msg2 MSGTMP2, MSGTMP3 + mova128 MSG2, XMMTMP + palignr $4, MSG1, XMMTMP + paddd XMMTMP, MSG3 + sha256msg2 MSG2, MSG3 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP2, MSGTMP1 + sha256msg1 MSG2, MSG1 /* Rounds 28-31 */ - mova128 MSGTMP3, MSG + mova128 MSG3, MSG paddd 7*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP3, XMMTMP - palignr $4, MSGTMP2, XMMTMP - paddd XMMTMP, MSGTMP0 - sha256msg2 MSGTMP3, MSGTMP0 + mova128 MSG3, XMMTMP + palignr $4, MSG2, XMMTMP + paddd XMMTMP, MSG0 + sha256msg2 MSG3, MSG0 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP3, MSGTMP2 + sha256msg1 MSG3, MSG2 /* Rounds 32-35 */ - mova128 MSGTMP0, MSG + mova128 MSG0, MSG paddd 8*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP0, XMMTMP - palignr $4, MSGTMP3, XMMTMP - paddd XMMTMP, MSGTMP1 - sha256msg2 MSGTMP0, MSGTMP1 + mova128 MSG0, XMMTMP + palignr $4, MSG3, XMMTMP + paddd XMMTMP, MSG1 + sha256msg2 MSG0, MSG1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP0, MSGTMP3 + sha256msg1 MSG0, MSG3 /* Rounds 36-39 */ - mova128 MSGTMP1, MSG + mova128 MSG1, MSG paddd 9*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP1, XMMTMP - palignr $4, MSGTMP0, XMMTMP - paddd XMMTMP, MSGTMP2 - sha256msg2 MSGTMP1, MSGTMP2 + mova128 MSG1, XMMTMP + palignr $4, MSG0, XMMTMP + paddd XMMTMP, MSG2 + sha256msg2 MSG1, MSG2 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP1, MSGTMP0 + sha256msg1 MSG1, MSG0 /* Rounds 40-43 */ - mova128 MSGTMP2, MSG + mova128 MSG2, MSG paddd 10*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP2, XMMTMP - palignr $4, MSGTMP1, XMMTMP - paddd XMMTMP, MSGTMP3 - sha256msg2 MSGTMP2, MSGTMP3 + mova128 MSG2, XMMTMP + palignr $4, MSG1, XMMTMP + paddd XMMTMP, MSG3 + sha256msg2 MSG2, MSG3 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP2, MSGTMP1 + sha256msg1 MSG2, MSG1 /* Rounds 44-47 */ - mova128 MSGTMP3, MSG + mova128 MSG3, MSG paddd 11*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP3, XMMTMP - palignr $4, MSGTMP2, XMMTMP - paddd XMMTMP, MSGTMP0 - sha256msg2 MSGTMP3, MSGTMP0 + mova128 MSG3, XMMTMP + palignr $4, MSG2, XMMTMP + paddd XMMTMP, MSG0 + sha256msg2 MSG3, MSG0 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP3, MSGTMP2 + sha256msg1 MSG3, MSG2 /* Rounds 48-51 */ - mova128 MSGTMP0, MSG + mova128 MSG0, MSG paddd 12*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP0, XMMTMP - palignr $4, MSGTMP3, XMMTMP - paddd XMMTMP, MSGTMP1 - sha256msg2 MSGTMP0, MSGTMP1 + mova128 MSG0, XMMTMP + palignr $4, MSG3, XMMTMP + paddd XMMTMP, MSG1 + sha256msg2 MSG0, MSG1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP0, MSGTMP3 + sha256msg1 MSG0, MSG3 /* Rounds 52-55 */ - mova128 MSGTMP1, MSG + mova128 MSG1, MSG paddd 13*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP1, XMMTMP - palignr $4, MSGTMP0, XMMTMP - paddd XMMTMP, MSGTMP2 - sha256msg2 MSGTMP1, MSGTMP2 + mova128 MSG1, XMMTMP + palignr $4, MSG0, XMMTMP + paddd XMMTMP, MSG2 + sha256msg2 MSG1, MSG2 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 /* Rounds 56-59 */ - mova128 MSGTMP2, MSG + mova128 MSG2, MSG paddd 14*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP2, XMMTMP - palignr $4, MSGTMP1, XMMTMP - paddd XMMTMP, MSGTMP3 - sha256msg2 MSGTMP2, MSGTMP3 + mova128 MSG2, XMMTMP + palignr $4, MSG1, XMMTMP + paddd XMMTMP, MSG3 + sha256msg2 MSG2, MSG3 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 /* Rounds 60-63 */ - mova128 MSGTMP3, MSG + mova128 MSG3, MSG paddd 15*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG @@ -241,7 +241,7 @@ sha256_process_block64_shaNI: /* Write hash values back in the correct order */ mova128 STATE0, XMMTMP -/* shufps takes dwords 0,1 from *2nd* operand, and dwords 2,3 from 1st one */ +/* shufps: dwords 0,1 of the result are selected from *2nd* operand, and dwords 2,3 from 1st operand */ /* --- -------------- HGDC -- FEBA */ shufps SHUF(3,2,3,2), STATE1, STATE0 /* ABCD */ shufps SHUF(1,0,1,0), STATE1, XMMTMP /* EFGH */ diff --git a/libbb/hash_sha256_hwaccel_x86-64.S b/libbb/hash_sha256_hwaccel_x86-64.S index 172c2eae2..f8911968b 100644 --- a/libbb/hash_sha256_hwaccel_x86-64.S +++ b/libbb/hash_sha256_hwaccel_x86-64.S @@ -34,10 +34,10 @@ #define MSG %xmm0 #define STATE0 %xmm1 #define STATE1 %xmm2 -#define MSGTMP0 %xmm3 -#define MSGTMP1 %xmm4 -#define MSGTMP2 %xmm5 -#define MSGTMP3 %xmm6 +#define MSG0 %xmm3 +#define MSG1 %xmm4 +#define MSG2 %xmm5 +#define MSG3 %xmm6 #define XMMTMP %xmm7 @@ -49,9 +49,9 @@ .balign 8 # allow decoders to fetch at least 2 first insns sha256_process_block64_shaNI: - movu128 80+0*16(%rdi), XMMTMP /* ABCD (little-endian dword order) */ + movu128 80+0*16(%rdi), XMMTMP /* ABCD (shown least-significant-dword-first) */ movu128 80+1*16(%rdi), STATE1 /* EFGH */ -/* shufps takes dwords 0,1 from *2nd* operand, and dwords 2,3 from 1st one */ +/* shufps: dwords 0,1 of the result are selected from *2nd* operand, and dwords 2,3 from 1st operand */ mova128 STATE1, STATE0 /* --- -------------- ABCD -- EFGH */ shufps SHUF(1,0,1,0), XMMTMP, STATE0 /* FEBA */ @@ -68,7 +68,7 @@ sha256_process_block64_shaNI: /* Rounds 0-3 */ movu128 0*16(DATA_PTR), MSG pshufb XMMTMP, MSG - mova128 MSG, MSGTMP0 + mova128 MSG, MSG0 paddd 0*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG @@ -77,170 +77,170 @@ sha256_process_block64_shaNI: /* Rounds 4-7 */ movu128 1*16(DATA_PTR), MSG pshufb XMMTMP, MSG - mova128 MSG, MSGTMP1 + mova128 MSG, MSG1 paddd 1*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP1, MSGTMP0 + sha256msg1 MSG1, MSG0 /* Rounds 8-11 */ movu128 2*16(DATA_PTR), MSG pshufb XMMTMP, MSG - mova128 MSG, MSGTMP2 + mova128 MSG, MSG2 paddd 2*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP2, MSGTMP1 + sha256msg1 MSG2, MSG1 /* Rounds 12-15 */ movu128 3*16(DATA_PTR), MSG pshufb XMMTMP, MSG /* ...to here */ - mova128 MSG, MSGTMP3 + mova128 MSG, MSG3 paddd 3*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP3, XMMTMP - palignr $4, MSGTMP2, XMMTMP - paddd XMMTMP, MSGTMP0 - sha256msg2 MSGTMP3, MSGTMP0 + mova128 MSG3, XMMTMP + palignr $4, MSG2, XMMTMP + paddd XMMTMP, MSG0 + sha256msg2 MSG3, MSG0 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP3, MSGTMP2 + sha256msg1 MSG3, MSG2 /* Rounds 16-19 */ - mova128 MSGTMP0, MSG + mova128 MSG0, MSG paddd 4*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP0, XMMTMP - palignr $4, MSGTMP3, XMMTMP - paddd XMMTMP, MSGTMP1 - sha256msg2 MSGTMP0, MSGTMP1 + mova128 MSG0, XMMTMP + palignr $4, MSG3, XMMTMP + paddd XMMTMP, MSG1 + sha256msg2 MSG0, MSG1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP0, MSGTMP3 + sha256msg1 MSG0, MSG3 /* Rounds 20-23 */ - mova128 MSGTMP1, MSG + mova128 MSG1, MSG paddd 5*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP1, XMMTMP - palignr $4, MSGTMP0, XMMTMP - paddd XMMTMP, MSGTMP2 - sha256msg2 MSGTMP1, MSGTMP2 + mova128 MSG1, XMMTMP + palignr $4, MSG0, XMMTMP + paddd XMMTMP, MSG2 + sha256msg2 MSG1, MSG2 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP1, MSGTMP0 + sha256msg1 MSG1, MSG0 /* Rounds 24-27 */ - mova128 MSGTMP2, MSG + mova128 MSG2, MSG paddd 6*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP2, XMMTMP - palignr $4, MSGTMP1, XMMTMP - paddd XMMTMP, MSGTMP3 - sha256msg2 MSGTMP2, MSGTMP3 + mova128 MSG2, XMMTMP + palignr $4, MSG1, XMMTMP + paddd XMMTMP, MSG3 + sha256msg2 MSG2, MSG3 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP2, MSGTMP1 + sha256msg1 MSG2, MSG1 /* Rounds 28-31 */ - mova128 MSGTMP3, MSG + mova128 MSG3, MSG paddd 7*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP3, XMMTMP - palignr $4, MSGTMP2, XMMTMP - paddd XMMTMP, MSGTMP0 - sha256msg2 MSGTMP3, MSGTMP0 + mova128 MSG3, XMMTMP + palignr $4, MSG2, XMMTMP + paddd XMMTMP, MSG0 + sha256msg2 MSG3, MSG0 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP3, MSGTMP2 + sha256msg1 MSG3, MSG2 /* Rounds 32-35 */ - mova128 MSGTMP0, MSG + mova128 MSG0, MSG paddd 8*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP0, XMMTMP - palignr $4, MSGTMP3, XMMTMP - paddd XMMTMP, MSGTMP1 - sha256msg2 MSGTMP0, MSGTMP1 + mova128 MSG0, XMMTMP + palignr $4, MSG3, XMMTMP + paddd XMMTMP, MSG1 + sha256msg2 MSG0, MSG1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP0, MSGTMP3 + sha256msg1 MSG0, MSG3 /* Rounds 36-39 */ - mova128 MSGTMP1, MSG + mova128 MSG1, MSG paddd 9*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP1, XMMTMP - palignr $4, MSGTMP0, XMMTMP - paddd XMMTMP, MSGTMP2 - sha256msg2 MSGTMP1, MSGTMP2 + mova128 MSG1, XMMTMP + palignr $4, MSG0, XMMTMP + paddd XMMTMP, MSG2 + sha256msg2 MSG1, MSG2 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP1, MSGTMP0 + sha256msg1 MSG1, MSG0 /* Rounds 40-43 */ - mova128 MSGTMP2, MSG + mova128 MSG2, MSG paddd 10*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP2, XMMTMP - palignr $4, MSGTMP1, XMMTMP - paddd XMMTMP, MSGTMP3 - sha256msg2 MSGTMP2, MSGTMP3 + mova128 MSG2, XMMTMP + palignr $4, MSG1, XMMTMP + paddd XMMTMP, MSG3 + sha256msg2 MSG2, MSG3 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP2, MSGTMP1 + sha256msg1 MSG2, MSG1 /* Rounds 44-47 */ - mova128 MSGTMP3, MSG + mova128 MSG3, MSG paddd 11*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP3, XMMTMP - palignr $4, MSGTMP2, XMMTMP - paddd XMMTMP, MSGTMP0 - sha256msg2 MSGTMP3, MSGTMP0 + mova128 MSG3, XMMTMP + palignr $4, MSG2, XMMTMP + paddd XMMTMP, MSG0 + sha256msg2 MSG3, MSG0 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP3, MSGTMP2 + sha256msg1 MSG3, MSG2 /* Rounds 48-51 */ - mova128 MSGTMP0, MSG + mova128 MSG0, MSG paddd 12*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP0, XMMTMP - palignr $4, MSGTMP3, XMMTMP - paddd XMMTMP, MSGTMP1 - sha256msg2 MSGTMP0, MSGTMP1 + mova128 MSG0, XMMTMP + palignr $4, MSG3, XMMTMP + paddd XMMTMP, MSG1 + sha256msg2 MSG0, MSG1 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 - sha256msg1 MSGTMP0, MSGTMP3 + sha256msg1 MSG0, MSG3 /* Rounds 52-55 */ - mova128 MSGTMP1, MSG + mova128 MSG1, MSG paddd 13*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP1, XMMTMP - palignr $4, MSGTMP0, XMMTMP - paddd XMMTMP, MSGTMP2 - sha256msg2 MSGTMP1, MSGTMP2 + mova128 MSG1, XMMTMP + palignr $4, MSG0, XMMTMP + paddd XMMTMP, MSG2 + sha256msg2 MSG1, MSG2 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 /* Rounds 56-59 */ - mova128 MSGTMP2, MSG + mova128 MSG2, MSG paddd 14*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 - mova128 MSGTMP2, XMMTMP - palignr $4, MSGTMP1, XMMTMP - paddd XMMTMP, MSGTMP3 - sha256msg2 MSGTMP2, MSGTMP3 + mova128 MSG2, XMMTMP + palignr $4, MSG1, XMMTMP + paddd XMMTMP, MSG3 + sha256msg2 MSG2, MSG3 shuf128_32 $0x0E, MSG, MSG sha256rnds2 MSG, STATE1, STATE0 /* Rounds 60-63 */ - mova128 MSGTMP3, MSG + mova128 MSG3, MSG paddd 15*16-8*16(SHA256CONSTANTS), MSG sha256rnds2 MSG, STATE0, STATE1 shuf128_32 $0x0E, MSG, MSG @@ -252,7 +252,7 @@ sha256_process_block64_shaNI: /* Write hash values back in the correct order */ mova128 STATE0, XMMTMP -/* shufps takes dwords 0,1 from *2nd* operand, and dwords 2,3 from 1st one */ +/* shufps: dwords 0,1 of the result are selected from *2nd* operand, and dwords 2,3 from 1st operand */ /* --- -------------- HGDC -- FEBA */ shufps SHUF(3,2,3,2), STATE1, STATE0 /* ABCD */ shufps SHUF(1,0,1,0), STATE1, XMMTMP /* EFGH */ |
