summaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2025-07-22 16:43:22 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2025-07-22 16:43:22 +0200
commite022ff88d14fe916d74fd1311b657dedfec59425 (patch)
tree9364353149985befe3f02b855870c0122a470d4e /libbb
parented22c5bd4a537f016321a888743a8b12f6bb15a9 (diff)
libbb: SHA-NI - document that unpckhpd also works, 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.S2
-rw-r--r--libbb/hash_sha256_hwaccel_x86-64.S2
2 files changed, 4 insertions, 0 deletions
diff --git a/libbb/hash_sha256_hwaccel_x86-32.S b/libbb/hash_sha256_hwaccel_x86-32.S
index 6362ae382..8d84055e8 100644
--- a/libbb/hash_sha256_hwaccel_x86-32.S
+++ b/libbb/hash_sha256_hwaccel_x86-32.S
@@ -66,11 +66,13 @@ sha256_process_block64_shaNI:
// movhlps MSG, MSG // abcd -> cdcd (3 bytes of code)
// shuf128_32 SHUF(2,3,n,n), MSG, MSG // abcd -> cdXX (4 bytes)
// punpckhqdq MSG, MSG // abcd -> cdcd (4 bytes)
+// unpckhpd MSG, MSG // abcd -> cdcd (4 bytes)
// psrldq $8, MSG // abcd -> cd00 (5 bytes)
// palignr $8, MSG, MSG // abcd -> cdab (6 bytes, SSSE3 insn)
#define MOVE_UPPER64_DOWN(reg) movhlps reg, reg
//#define MOVE_UPPER64_DOWN(reg) shuf128_32 SHUF(2,3,0,0), reg, reg
//#define MOVE_UPPER64_DOWN(reg) punpckhqdq reg, reg
+//#define MOVE_UPPER64_DOWN(reg) unpckhpd reg, reg
//#define MOVE_UPPER64_DOWN(reg) psrldq $8, reg
//#define MOVE_UPPER64_DOWN(reg) palignr $8, reg, reg
diff --git a/libbb/hash_sha256_hwaccel_x86-64.S b/libbb/hash_sha256_hwaccel_x86-64.S
index 92f00ebcd..ee3abbd1f 100644
--- a/libbb/hash_sha256_hwaccel_x86-64.S
+++ b/libbb/hash_sha256_hwaccel_x86-64.S
@@ -73,11 +73,13 @@ sha256_process_block64_shaNI:
// movhlps MSG, MSG // abcd -> cdcd (3 bytes of code)
// shuf128_32 SHUF(2,3,n,n), MSG, MSG // abcd -> cdXX (4 bytes)
// punpckhqdq MSG, MSG // abcd -> cdcd (4 bytes)
+// unpckhpd MSG, MSG // abcd -> cdcd (4 bytes)
// psrldq $8, MSG // abcd -> cd00 (5 bytes)
// palignr $8, MSG, MSG // abcd -> cdab (6 bytes, SSSE3 insn)
#define MOVE_UPPER64_DOWN(reg) movhlps reg, reg
//#define MOVE_UPPER64_DOWN(reg) shuf128_32 SHUF(2,3,0,0), reg, reg
//#define MOVE_UPPER64_DOWN(reg) punpckhqdq reg, reg
+//#define MOVE_UPPER64_DOWN(reg) unpckhpd reg, reg
//#define MOVE_UPPER64_DOWN(reg) psrldq $8, reg
//#define MOVE_UPPER64_DOWN(reg) palignr $8, reg, reg