diff options
| author | jsing <> | 2025-01-24 13:35:04 +0000 |
|---|---|---|
| committer | jsing <> | 2025-01-24 13:35:04 +0000 |
| commit | e645f65a85d604ca35a8889b91950b72ea837f74 (patch) | |
| tree | 4a38be3aa387374f26fe17d96d1f3348009bd64c /src/lib/libcrypto/md5/asm | |
| parent | b6ef5ce8e459627efe3f07bc95bcfa8c48704fba (diff) | |
| download | openbsd-e645f65a85d604ca35a8889b91950b72ea837f74.tar.gz openbsd-e645f65a85d604ca35a8889b91950b72ea837f74.tar.bz2 openbsd-e645f65a85d604ca35a8889b91950b72ea837f74.zip | |
Provide a readable assembly implementation for MD5 on amd64.
This appears to be about 5% faster than the current perlasm version on a
modern Intel CPU.
While here rename md5_block_asm_data_order to md5_block_data_order, for
consistency with other hashes.
ok tb@
Diffstat (limited to 'src/lib/libcrypto/md5/asm')
| -rw-r--r-- | src/lib/libcrypto/md5/asm/md5-586.pl | 2 | ||||
| -rwxr-xr-x | src/lib/libcrypto/md5/asm/md5-x86_64.pl | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/libcrypto/md5/asm/md5-586.pl b/src/lib/libcrypto/md5/asm/md5-586.pl index 6cb66bb499..a039efd899 100644 --- a/src/lib/libcrypto/md5/asm/md5-586.pl +++ b/src/lib/libcrypto/md5/asm/md5-586.pl | |||
| @@ -30,7 +30,7 @@ $X="esi"; | |||
| 30 | 0, 7, 14, 5, 12, 3, 10, 1, 8, 15, 6, 13, 4, 11, 2, 9, # R3 | 30 | 0, 7, 14, 5, 12, 3, 10, 1, 8, 15, 6, 13, 4, 11, 2, 9, # R3 |
| 31 | ); | 31 | ); |
| 32 | 32 | ||
| 33 | &md5_block("md5_block_asm_data_order"); | 33 | &md5_block("md5_block_data_order"); |
| 34 | &asm_finish(); | 34 | &asm_finish(); |
| 35 | 35 | ||
| 36 | sub Np | 36 | sub Np |
diff --git a/src/lib/libcrypto/md5/asm/md5-x86_64.pl b/src/lib/libcrypto/md5/asm/md5-x86_64.pl index 5001c34724..a2d97b28e3 100755 --- a/src/lib/libcrypto/md5/asm/md5-x86_64.pl +++ b/src/lib/libcrypto/md5/asm/md5-x86_64.pl | |||
| @@ -125,9 +125,9 @@ $code .= <<EOF; | |||
| 125 | .text | 125 | .text |
| 126 | .align 16 | 126 | .align 16 |
| 127 | 127 | ||
| 128 | .globl md5_block_asm_data_order | 128 | .globl md5_block_data_order |
| 129 | .type md5_block_asm_data_order,\@function,3 | 129 | .type md5_block_data_order,\@function,3 |
| 130 | md5_block_asm_data_order: | 130 | md5_block_data_order: |
| 131 | _CET_ENDBR | 131 | _CET_ENDBR |
| 132 | push %rbp | 132 | push %rbp |
| 133 | push %rbx | 133 | push %rbx |
| @@ -257,7 +257,7 @@ $code .= <<EOF; | |||
| 257 | add \$40,%rsp | 257 | add \$40,%rsp |
| 258 | .Lepilogue: | 258 | .Lepilogue: |
| 259 | ret | 259 | ret |
| 260 | .size md5_block_asm_data_order,.-md5_block_asm_data_order | 260 | .size md5_block_data_order,.-md5_block_data_order |
| 261 | EOF | 261 | EOF |
| 262 | 262 | ||
| 263 | print $code; | 263 | print $code; |
