diff options
Diffstat (limited to 'src/lib/libcrypto/aes')
| -rwxr-xr-x | src/lib/libcrypto/aes/asm/aes-x86_64.pl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl index 44e0bf8cae..f616f1751f 100755 --- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl +++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | |||
| @@ -1198,19 +1198,20 @@ AES_cbc_encrypt: | |||
| 1198 | ret | 1198 | ret |
| 1199 | .align 4 | 1199 | .align 4 |
| 1200 | .Lcbc_enc_tail: | 1200 | .Lcbc_enc_tail: |
| 1201 | cmp $inp,$out | 1201 | mov %rax,%r11 |
| 1202 | je .Lcbc_enc_in_place | 1202 | mov %rcx,%r12 |
| 1203 | mov %r10,%rcx | 1203 | mov %r10,%rcx |
| 1204 | mov $inp,%rsi | 1204 | mov $inp,%rsi |
| 1205 | mov $out,%rdi | 1205 | mov $out,%rdi |
| 1206 | .long 0xF689A4F3 # rep movsb | 1206 | .long 0xF689A4F3 # rep movsb |
| 1207 | .Lcbc_enc_in_place: | ||
| 1208 | mov \$16,%rcx # zero tail | 1207 | mov \$16,%rcx # zero tail |
| 1209 | sub %r10,%rcx | 1208 | sub %r10,%rcx |
| 1210 | xor %rax,%rax | 1209 | xor %rax,%rax |
| 1211 | .long 0xF689AAF3 # rep stosb | 1210 | .long 0xF689AAF3 # rep stosb |
| 1212 | mov $out,$inp # this is not a mistake! | 1211 | mov $out,$inp # this is not a mistake! |
| 1213 | movq \$16,$_len # len=16 | 1212 | movq \$16,$_len # len=16 |
| 1213 | mov %r11,%rax | ||
| 1214 | mov %r12,%rcx | ||
| 1214 | jmp .Lcbc_enc_loop # one more spin... | 1215 | jmp .Lcbc_enc_loop # one more spin... |
| 1215 | #----------------------------- DECRYPT -----------------------------# | 1216 | #----------------------------- DECRYPT -----------------------------# |
| 1216 | .align 16 | 1217 | .align 16 |
