[git commit] libbb: change define names in SHA-NI code to match kernel source more closely
Denys Vlasenko
vda.linux at googlemail.com
Mon Jul 21 06:45:02 UTC 2025
commit: https://git.busybox.net/busybox/commit/?id=d23ad559044af2f706d7b7a8ede05107b4c10cf7
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
No code changes
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
libbb/hash_sha256_hwaccel_x86-32.S | 166 ++++++++++++++++++-------------------
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 */
More information about the busybox-cvs
mailing list