Module Name: src
Committed By: jym
Date: Mon Jul 25 19:11:49 UTC 2011
Modified Files:
src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64:
aesni-x86_64.S
Log Message:
Get rid of the "rep ret" trick in places where it is not needed. FWIW,
the "rep ret" trick is recommended by AMD as a branch prediction
optimization in certain circumstances (quoting their manual):
- any kind of branch (either conditional or unconditional) that has the
single-byte near-return RET instruction as its target
- a conditional branch that occurs in the code directly before the
single-byte near-return RET instruction.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S
diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S:1.3
--- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S:1.2 Fri Jul 22 22:50:55 2011
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S Mon Jul 25 19:11:49 2011
@@ -18,7 +18,6 @@
jnz .Loop_enc1_1
aesenclast %xmm5,%xmm0
movups %xmm0,(%rsi)
- repz
retq
.size aesni_encrypt,.-aesni_encrypt
@@ -40,7 +39,6 @@
jnz .Loop_dec1_2
aesdeclast %xmm5,%xmm0
movups %xmm0,(%rsi)
- repz
retq
.size aesni_decrypt, .-aesni_decrypt
.type _aesni_encrypt3,@function
@@ -74,7 +72,6 @@
aesenclast %xmm4,%xmm0
aesenclast %xmm4,%xmm1
aesenclast %xmm4,%xmm2
- repz
retq
.size _aesni_encrypt3,.-_aesni_encrypt3
.type _aesni_decrypt3,@function
@@ -108,7 +105,6 @@
aesdeclast %xmm4,%xmm0
aesdeclast %xmm4,%xmm1
aesdeclast %xmm4,%xmm2
- repz
retq
.size _aesni_decrypt3,.-_aesni_decrypt3
.type _aesni_encrypt4,@function
@@ -147,7 +143,6 @@
aesenclast %xmm4,%xmm1
aesenclast %xmm4,%xmm2
aesenclast %xmm4,%xmm3
- repz
retq
.size _aesni_encrypt4,.-_aesni_encrypt4
.type _aesni_decrypt4,@function
@@ -186,7 +181,6 @@
aesdeclast %xmm4,%xmm1
aesdeclast %xmm4,%xmm2
aesdeclast %xmm4,%xmm3
- repz
retq
.size _aesni_decrypt4,.-_aesni_decrypt4
.globl aesni_ecb_encrypt
@@ -556,7 +550,6 @@
movaps %xmm0,(%rdi)
.Ldec_key_ret:
addq $8,%rsp
- repz
retq
.LSEH_end_set_decrypt_key:
.size aesni_set_decrypt_key,.-aesni_set_decrypt_key
@@ -679,7 +672,6 @@
movq $-2,%rax
.Lenc_key_ret:
addq $8,%rsp
- repz
retq
.LSEH_end_set_encrypt_key:
@@ -694,7 +686,6 @@
pxor %xmm4,%xmm0
pshufd $255,%xmm1,%xmm1
pxor %xmm1,%xmm0
- repz
retq
.align 16
@@ -715,7 +706,6 @@
pxor %xmm1,%xmm0
pshufd $255,%xmm0,%xmm3
pxor %xmm3,%xmm2
- repz
retq
.align 16
@@ -739,7 +729,6 @@
pxor %xmm4,%xmm0
pshufd $255,%xmm1,%xmm1
pxor %xmm1,%xmm0
- repz
retq
.align 16
@@ -753,6 +742,5 @@
pxor %xmm4,%xmm2
pshufd $170,%xmm1,%xmm1
pxor %xmm1,%xmm2
- repz
retq
.size aesni_set_encrypt_key,.-aesni_set_encrypt_key