diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2025-07-22 16:43:22 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2025-07-22 16:43:22 +0200 |
| commit | e022ff88d14fe916d74fd1311b657dedfec59425 (patch) | |
| tree | 9364353149985befe3f02b855870c0122a470d4e /libbb | |
| parent | ed22c5bd4a537f016321a888743a8b12f6bb15a9 (diff) | |
| download | busybox-w32-e022ff88d14fe916d74fd1311b657dedfec59425.tar.gz busybox-w32-e022ff88d14fe916d74fd1311b657dedfec59425.tar.bz2 busybox-w32-e022ff88d14fe916d74fd1311b657dedfec59425.zip | |
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.S | 2 | ||||
| -rw-r--r-- | libbb/hash_sha256_hwaccel_x86-64.S | 2 |
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: | |||
| 66 | // movhlps MSG, MSG // abcd -> cdcd (3 bytes of code) | 66 | // movhlps MSG, MSG // abcd -> cdcd (3 bytes of code) |
| 67 | // shuf128_32 SHUF(2,3,n,n), MSG, MSG // abcd -> cdXX (4 bytes) | 67 | // shuf128_32 SHUF(2,3,n,n), MSG, MSG // abcd -> cdXX (4 bytes) |
| 68 | // punpckhqdq MSG, MSG // abcd -> cdcd (4 bytes) | 68 | // punpckhqdq MSG, MSG // abcd -> cdcd (4 bytes) |
| 69 | // unpckhpd MSG, MSG // abcd -> cdcd (4 bytes) | ||
| 69 | // psrldq $8, MSG // abcd -> cd00 (5 bytes) | 70 | // psrldq $8, MSG // abcd -> cd00 (5 bytes) |
| 70 | // palignr $8, MSG, MSG // abcd -> cdab (6 bytes, SSSE3 insn) | 71 | // palignr $8, MSG, MSG // abcd -> cdab (6 bytes, SSSE3 insn) |
| 71 | #define MOVE_UPPER64_DOWN(reg) movhlps reg, reg | 72 | #define MOVE_UPPER64_DOWN(reg) movhlps reg, reg |
| 72 | //#define MOVE_UPPER64_DOWN(reg) shuf128_32 SHUF(2,3,0,0), reg, reg | 73 | //#define MOVE_UPPER64_DOWN(reg) shuf128_32 SHUF(2,3,0,0), reg, reg |
| 73 | //#define MOVE_UPPER64_DOWN(reg) punpckhqdq reg, reg | 74 | //#define MOVE_UPPER64_DOWN(reg) punpckhqdq reg, reg |
| 75 | //#define MOVE_UPPER64_DOWN(reg) unpckhpd reg, reg | ||
| 74 | //#define MOVE_UPPER64_DOWN(reg) psrldq $8, reg | 76 | //#define MOVE_UPPER64_DOWN(reg) psrldq $8, reg |
| 75 | //#define MOVE_UPPER64_DOWN(reg) palignr $8, reg, reg | 77 | //#define MOVE_UPPER64_DOWN(reg) palignr $8, reg, reg |
| 76 | 78 | ||
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: | |||
| 73 | // movhlps MSG, MSG // abcd -> cdcd (3 bytes of code) | 73 | // movhlps MSG, MSG // abcd -> cdcd (3 bytes of code) |
| 74 | // shuf128_32 SHUF(2,3,n,n), MSG, MSG // abcd -> cdXX (4 bytes) | 74 | // shuf128_32 SHUF(2,3,n,n), MSG, MSG // abcd -> cdXX (4 bytes) |
| 75 | // punpckhqdq MSG, MSG // abcd -> cdcd (4 bytes) | 75 | // punpckhqdq MSG, MSG // abcd -> cdcd (4 bytes) |
| 76 | // unpckhpd MSG, MSG // abcd -> cdcd (4 bytes) | ||
| 76 | // psrldq $8, MSG // abcd -> cd00 (5 bytes) | 77 | // psrldq $8, MSG // abcd -> cd00 (5 bytes) |
| 77 | // palignr $8, MSG, MSG // abcd -> cdab (6 bytes, SSSE3 insn) | 78 | // palignr $8, MSG, MSG // abcd -> cdab (6 bytes, SSSE3 insn) |
| 78 | #define MOVE_UPPER64_DOWN(reg) movhlps reg, reg | 79 | #define MOVE_UPPER64_DOWN(reg) movhlps reg, reg |
| 79 | //#define MOVE_UPPER64_DOWN(reg) shuf128_32 SHUF(2,3,0,0), reg, reg | 80 | //#define MOVE_UPPER64_DOWN(reg) shuf128_32 SHUF(2,3,0,0), reg, reg |
| 80 | //#define MOVE_UPPER64_DOWN(reg) punpckhqdq reg, reg | 81 | //#define MOVE_UPPER64_DOWN(reg) punpckhqdq reg, reg |
| 82 | //#define MOVE_UPPER64_DOWN(reg) unpckhpd reg, reg | ||
| 81 | //#define MOVE_UPPER64_DOWN(reg) psrldq $8, reg | 83 | //#define MOVE_UPPER64_DOWN(reg) psrldq $8, reg |
| 82 | //#define MOVE_UPPER64_DOWN(reg) palignr $8, reg, reg | 84 | //#define MOVE_UPPER64_DOWN(reg) palignr $8, reg, reg |
| 83 | 85 | ||
