CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Thu Jan 23 17:37:03 UTC 2020 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: aesni-x86_64.S ecp_nistz256-x86_64.S ghash-x86_64.S rsaz-avx2.S vpaes-x86_64.S x86_64-mont5.S Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/ecp_nistz256-x86_64.S cvs rdiff -u -r1.6 -r1.7 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/ghash-x86_64.S cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rsaz-avx2.S cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/vpaes-x86_64.S cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.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.9 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S:1.10 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S:1.9 Sun Sep 23 09:33:05 2018 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S Thu Jan 23 12:37:03 2020 @@ -5,6 +5,7 @@ .type aesni_encrypt,@function .align 16 aesni_encrypt: +.cfi_startproc movups (%rdi),%xmm2 movl 240(%rdx),%eax movups (%rdx),%xmm0 @@ -23,12 +24,14 @@ aesni_encrypt: movups %xmm2,(%rsi) pxor %xmm2,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_encrypt,.-aesni_encrypt .globl aesni_decrypt .type aesni_decrypt,@function .align 16 aesni_decrypt: +.cfi_startproc movups (%rdi),%xmm2 movl 240(%rdx),%eax movups (%rdx),%xmm0 @@ -47,10 +50,12 @@ aesni_decrypt: movups %xmm2,(%rsi) pxor %xmm2,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_decrypt, .-aesni_decrypt .type _aesni_encrypt2,@function .align 16 _aesni_encrypt2: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -76,10 +81,12 @@ _aesni_encrypt2: .byte 102,15,56,221,208 .byte 102,15,56,221,216 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_encrypt2,.-_aesni_encrypt2 .type _aesni_decrypt2,@function .align 16 _aesni_decrypt2: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -105,10 +112,12 @@ _aesni_decrypt2: .byte 102,15,56,223,208 .byte 102,15,56,223,216 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_decrypt2,.-_aesni_decrypt2 .type _aesni_encrypt3,@function .align 16 _aesni_encrypt3: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -139,10 +148,12 @@ _aesni_encrypt3: .byte 102,15,56,221,216 .byte 102,15,56,221,224 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_encrypt3,.-_aesni_encrypt3 .type _aesni_decrypt3,@function .align 16 _aesni_decrypt3: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -173,10 +184,12 @@ _aesni_decrypt3: .byte 102,15,56,223,216 .byte 102,15,56,223,224 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_decrypt3,.-_aesni_decrypt3 .type _aesni_encrypt4,@function .align 16 _aesni_encrypt4: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -213,10 +226,12 @@ _aesni_encrypt4: .byte 102,15,56,221,224 .byte 102,15,56,221,232 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_encrypt4,.-_aesni_encrypt4 .type _aesni_decrypt4,@function .align 16 _aesni_decrypt4: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -253,10 +268,12 @@ _aesni_decrypt4: .byte 102,15,56,223,224 .byte 102,15,56,223,232 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_decrypt4,.-_aesni_decrypt4 .type _aesni_encrypt6,@function .align 16 _aesni_encrypt6: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -307,10 +324,12 @@ _aesni_encrypt6: .byte 102,15,56,221,240 .byte 102,15,56,221,248 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_encrypt6,.-_aesni_encrypt6 .type _aesni_decrypt6,@function .align 16 _aesni_decrypt6: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -361,10 +380,12 @@ _aesni_decrypt6: .byte 102,15,56,223,240 .byte 102,15,56,223,248 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_decrypt6,.-_aesni_decrypt6 .type _aesni_encrypt8,@function .align 16 _aesni_encrypt8: +.cfi_startproc movups (%rcx),%xmm0 shll $4,%eax movups 16(%rcx),%xmm1 @@ -425,10 +446,12 @@ _aesni_encrypt8: .byte 102,68,15,56,221,192 .byte 102,68,15,56,221,200 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_encrypt8,.-_aesni_encrypt8 .type _aesni_decrypt8,@function .align 16 _aesni_decrypt8: +.cfi_startproc movups
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: gson Date: Mon Jan 9 17:41:03 UTC 2017 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: x86_64-gf2m.S Log Message: regen (actually, hand-edited, but the changes should be identical) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.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/x86_64-gf2m.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.5 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.6 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.5 Sun Jan 8 21:36:24 2017 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S Mon Jan 9 17:41:03 2017 @@ -202,9 +202,8 @@ _mul_1x1: .type bn_GF2m_mul_2x2,@function .align 16 bn_GF2m_mul_2x2: - movl OPENSSL_ia32cap_P+4(%rip),%eax - btl $1,%eax - + movq OPENSSL_ia32cap_P(%rip),%rax + btq $33,%rax jnc .Lvanilla_mul_2x2 .byte 102,72,15,110,198
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sun Jan 8 21:36:24 UTC 2017 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: x86_64-gf2m.S Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.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/x86_64-gf2m.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.4 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.5 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.4 Sat Jan 7 20:59:43 2017 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S Sun Jan 8 16:36:24 2017 @@ -202,8 +202,8 @@ _mul_1x1: .type bn_GF2m_mul_2x2,@function .align 16 bn_GF2m_mul_2x2: - movq OPENSSL_ia32cap_P+4(%rip),%rax - btq $1,%rax + movl OPENSSL_ia32cap_P+4(%rip),%eax + btl $1,%eax jnc .Lvanilla_mul_2x2
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sun Jan 8 17:12:21 UTC 2017 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile Log Message: Remove pasto, thanks wiz@ To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile 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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.11 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.12 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.11 Sat Jan 7 20:56:31 2017 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Sun Jan 8 12:12:21 2017 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.11 2017/01/08 01:56:31 christos Exp $ +# $NetBSD: Makefile,v 1.12 2017/01/08 17:12:21 christos Exp $ .include "bsd.own.mk" @@ -12,7 +12,6 @@ CC+= -fno-integrated-as regen: for i in $$(find ${OPENSSLSRC} -name \*${MACHINE_ARCH}.pl) \ $$(find ${OPENSSLSRC}/crypto/bn/asm -name ${MACHINE_ARCH}-\*.pl) \ - $$(find ${OPENSSLSRC}/crypto/bn/asm -name ${MACHINE_ARCH}-\*.pl) \ ${OPENSSLSRC}/crypto/bn/asm/rsaz-avx2.pl \ ${OPENSSLSRC}/crypto/${MACHINE_ARCH}cpuid.pl ; do \ (set +x; echo "#include "; CC=${CC:Q} perl $$i elf | sed \
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sun Jan 8 01:56:31 UTC 2017 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile Log Message: remove some local hacks. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile 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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.10 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.11 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.10 Fri Oct 14 12:09:44 2016 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Sat Jan 7 20:56:31 2017 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.10 2016/10/14 16:09:44 spz Exp $ +# $NetBSD: Makefile,v 1.11 2017/01/08 01:56:31 christos Exp $ .include "bsd.own.mk" @@ -12,10 +12,10 @@ CC+= -fno-integrated-as regen: for i in $$(find ${OPENSSLSRC} -name \*${MACHINE_ARCH}.pl) \ $$(find ${OPENSSLSRC}/crypto/bn/asm -name ${MACHINE_ARCH}-\*.pl) \ + $$(find ${OPENSSLSRC}/crypto/bn/asm -name ${MACHINE_ARCH}-\*.pl) \ ${OPENSSLSRC}/crypto/bn/asm/rsaz-avx2.pl \ ${OPENSSLSRC}/crypto/${MACHINE_ARCH}cpuid.pl ; do \ -(echo "#include "; CC=${CC:Q} perl $$i elf | sed \ - -e 's/\(OPENSSL[A-Za-z0-9_]*\)(%rip)/\1@GOTPCREL(%rip)/' \ +(set +x; echo "#include "; CC=${CC:Q} perl $$i elf | sed \ -e 's/.hidden OPENSSL_cpuid_setup/.globl OPENSSL_cpuid_setup/' \ -e 's/call OPENSSL_cpuid_setup/call PIC_PLT(OPENSSL_cpuid_setup)/' \ -e 's/rdseedq/rdseed/') \
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Mon Mar 21 19:13:15 UTC 2016 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: sha1-x86_64.S x86_64cpuid.S Log Message: regen with old assembly stubs. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.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/sha1-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.9 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.10 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.9 Sun Mar 20 18:27:44 2016 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S Mon Mar 21 15:13:15 2016 @@ -6,37 +6,27 @@ .type sha1_block_data_order,@function .align 16 sha1_block_data_order: - movl OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r9d - movl OPENSSL_ia32cap_P+4@GOTPCREL(%rip),%r8d - movl OPENSSL_ia32cap_P+8@GOTPCREL(%rip),%r10d - testl $512,%r8d - jz .Lialu - testl $536870912,%r10d - jnz _shaext_shortcut - andl $296,%r10d - cmpl $296,%r10d - je _avx2_shortcut - andl $268435456,%r8d - andl $1073741824,%r9d - orl %r9d,%r8d - cmpl $1342177280,%r8d - je _avx_shortcut + movq OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r8 + movl 4(%r8),%r8d + btl $9,%r8d + jnc .Lialu + btl $28,%r8d + jc _avx_shortcut jmp _ssse3_shortcut .align 16 .Lialu: - movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 - pushq %r14 + movq %rsp,%r11 movq %rdi,%r8 subq $72,%rsp movq %rsi,%r9 andq $-64,%rsp movq %rdx,%r10 - movq %rax,64(%rsp) + movq %r11,64(%rsp) .Lprologue: movl 0(%r8),%esi @@ -50,1168 +40,1230 @@ sha1_block_data_order: .Lloop: movl 0(%r9),%edx bswapl %edx - movl 4(%r9),%ebp - movl %r12d,%eax movl %edx,0(%rsp) + movl %r11d,%eax + movl 4(%r9),%ebp movl %esi,%ecx + xorl %r12d,%eax bswapl %ebp - xorl %r11d,%eax roll $5,%ecx - andl %edi,%eax leal 1518500249(%rdx,%r13,1),%r13d + andl %edi,%eax + movl %ebp,4(%rsp) addl %ecx,%r13d xorl %r12d,%eax roll $30,%edi addl %eax,%r13d - movl 8(%r9),%r14d - movl %r11d,%eax - movl %ebp,4(%rsp) + movl %edi,%eax + movl 8(%r9),%edx movl %r13d,%ecx - bswapl %r14d - xorl %edi,%eax + xorl %r11d,%eax + bswapl %edx roll $5,%ecx - andl %esi,%eax leal 1518500249(%rbp,%r12,1),%r12d + andl %esi,%eax + movl %edx,8(%rsp) addl %ecx,%r12d xorl %r11d,%eax roll $30,%esi addl %eax,%r12d - movl 12(%r9),%edx - movl %edi,%eax - movl %r14d,8(%rsp) + movl %esi,%eax + movl 12(%r9),%ebp movl %r12d,%ecx - bswapl %edx - xorl %esi,%eax + xorl %edi,%eax + bswapl %ebp roll $5,%ecx + leal 1518500249(%rdx,%r11,1),%r11d andl %r13d,%eax - leal 1518500249(%r14,%r11,1),%r11d + movl %ebp,12(%rsp) addl %ecx,%r11d xorl %edi,%eax roll $30,%r13d addl %eax,%r11d - movl 16(%r9),%ebp - movl %esi,%eax - movl %edx,12(%rsp) + movl %r13d,%eax + movl 16(%r9),%edx movl %r11d,%ecx - bswapl %ebp - xorl %r13d,%eax + xorl %esi,%eax + bswapl %edx roll $5,%ecx + leal 1518500249(%rbp,%rdi,1),%edi andl %r12d,%eax - leal 1518500249(%rdx,%rdi,1),%edi + movl %edx,16(%rsp) addl %ecx,%edi xorl %esi,%eax roll $30,%r12d addl %eax,%edi - movl 20(%r9),%r14d - movl %r13d,%eax - movl %ebp,16(%rsp) + movl %r12d,%eax + movl 20(%r9),%ebp movl %edi,%ecx - bswapl %r14d - xorl %r12d,%eax + xorl %r13d,%eax + bswapl %ebp roll $5,%ecx + leal 1518500249(%rdx,%rsi,1),%esi andl %r11d,%eax - leal 1518500249(%rbp,%rsi,1),%esi + movl %ebp,20(%rsp) addl %ecx,%esi xorl %r13d,%eax roll $30,%r11d addl %eax,%esi + movl %r11d,%eax movl 24(%r9),%edx - movl %r12d,%eax - movl %r14d,20(%rsp) movl %esi,%ecx + xorl %r12d,%eax bswapl %edx - xorl %r11d,%eax roll $5,%ecx + leal 1518500249(%rbp,%r13,1),%r13d andl %edi,%eax - leal 1518500249(%r14,%r13,1),%r13d + movl %edx,24(%rsp) addl %ecx,%r13d xorl %r12d,%eax roll $30,%edi addl %eax,%r13d + movl %edi,%eax movl 28(%r9),%ebp - movl %r11d,%eax - movl %edx,24(%rsp) movl %r13d,%ecx + xorl %r11d,%eax bswapl %ebp - xorl %edi,%eax roll $5,%ecx - andl %esi,%eax leal 1518500249(%rdx,%r12,1),%r12d + andl %esi,%eax + movl %ebp,28(%rsp) addl %ecx,%r12d xorl %r11d,%eax roll $30,%esi addl %eax,%r12d - movl 32(%r9),%r14d - movl %edi,%eax - movl %ebp,28(%rsp) + movl %esi,%eax + movl 32(%r9),%edx movl %r12d,%ecx - bswapl %r14d - xorl %esi,%eax + xorl %edi,%eax + bswapl %edx roll $5,%ecx - andl %r13d,%eax leal 1518500249(%rbp,%r11,1),%r11d + andl %r13d,%eax + movl %edx,32(%rsp) addl %ecx,%r11d xorl %edi,%eax roll $30,%r13d addl %eax,%r11d - movl 36(%r9),%edx - movl %esi,%eax - movl %r14d,32(%rsp) + movl %r13d,%eax + movl 36(%r9),%ebp movl
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sun Mar 20 22:27:44 UTC 2016 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: sha1-x86_64.S x86_64cpuid.S Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.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/sha1-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.8 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.9 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.8 Sun Mar 20 18:18:43 2016 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S Sun Mar 20 18:27:44 2016 @@ -6,27 +6,37 @@ .type sha1_block_data_order,@function .align 16 sha1_block_data_order: - movq OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r8 - movl 4(%r8),%r8d - btl $9,%r8d - jnc .Lialu - btl $28,%r8d - jc _avx_shortcut + movl OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r9d + movl OPENSSL_ia32cap_P+4@GOTPCREL(%rip),%r8d + movl OPENSSL_ia32cap_P+8@GOTPCREL(%rip),%r10d + testl $512,%r8d + jz .Lialu + testl $536870912,%r10d + jnz _shaext_shortcut + andl $296,%r10d + cmpl $296,%r10d + je _avx2_shortcut + andl $268435456,%r8d + andl $1073741824,%r9d + orl %r9d,%r8d + cmpl $1342177280,%r8d + je _avx_shortcut jmp _ssse3_shortcut .align 16 .Lialu: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 - movq %rsp,%r11 + pushq %r14 movq %rdi,%r8 subq $72,%rsp movq %rsi,%r9 andq $-64,%rsp movq %rdx,%r10 - movq %r11,64(%rsp) + movq %rax,64(%rsp) .Lprologue: movl 0(%r8),%esi @@ -40,1230 +50,1168 @@ sha1_block_data_order: .Lloop: movl 0(%r9),%edx bswapl %edx - movl %edx,0(%rsp) - movl %r11d,%eax movl 4(%r9),%ebp + movl %r12d,%eax + movl %edx,0(%rsp) movl %esi,%ecx - xorl %r12d,%eax bswapl %ebp + xorl %r11d,%eax roll $5,%ecx - leal 1518500249(%rdx,%r13,1),%r13d andl %edi,%eax - movl %ebp,4(%rsp) + leal 1518500249(%rdx,%r13,1),%r13d addl %ecx,%r13d xorl %r12d,%eax roll $30,%edi addl %eax,%r13d - movl %edi,%eax - movl 8(%r9),%edx + movl 8(%r9),%r14d + movl %r11d,%eax + movl %ebp,4(%rsp) movl %r13d,%ecx - xorl %r11d,%eax - bswapl %edx + bswapl %r14d + xorl %edi,%eax roll $5,%ecx - leal 1518500249(%rbp,%r12,1),%r12d andl %esi,%eax - movl %edx,8(%rsp) + leal 1518500249(%rbp,%r12,1),%r12d addl %ecx,%r12d xorl %r11d,%eax roll $30,%esi addl %eax,%r12d - movl %esi,%eax - movl 12(%r9),%ebp + movl 12(%r9),%edx + movl %edi,%eax + movl %r14d,8(%rsp) movl %r12d,%ecx - xorl %edi,%eax - bswapl %ebp + bswapl %edx + xorl %esi,%eax roll $5,%ecx - leal 1518500249(%rdx,%r11,1),%r11d andl %r13d,%eax - movl %ebp,12(%rsp) + leal 1518500249(%r14,%r11,1),%r11d addl %ecx,%r11d xorl %edi,%eax roll $30,%r13d addl %eax,%r11d - movl %r13d,%eax - movl 16(%r9),%edx + movl 16(%r9),%ebp + movl %esi,%eax + movl %edx,12(%rsp) movl %r11d,%ecx - xorl %esi,%eax - bswapl %edx + bswapl %ebp + xorl %r13d,%eax roll $5,%ecx - leal 1518500249(%rbp,%rdi,1),%edi andl %r12d,%eax - movl %edx,16(%rsp) + leal 1518500249(%rdx,%rdi,1),%edi addl %ecx,%edi xorl %esi,%eax roll $30,%r12d addl %eax,%edi - movl %r12d,%eax - movl 20(%r9),%ebp + movl 20(%r9),%r14d + movl %r13d,%eax + movl %ebp,16(%rsp) movl %edi,%ecx - xorl %r13d,%eax - bswapl %ebp + bswapl %r14d + xorl %r12d,%eax roll $5,%ecx - leal 1518500249(%rdx,%rsi,1),%esi andl %r11d,%eax - movl %ebp,20(%rsp) + leal 1518500249(%rbp,%rsi,1),%esi addl %ecx,%esi xorl %r13d,%eax roll $30,%r11d addl %eax,%esi - movl %r11d,%eax movl 24(%r9),%edx + movl %r12d,%eax + movl %r14d,20(%rsp) movl %esi,%ecx - xorl %r12d,%eax bswapl %edx + xorl %r11d,%eax roll $5,%ecx - leal 1518500249(%rbp,%r13,1),%r13d andl %edi,%eax - movl %edx,24(%rsp) + leal 1518500249(%r14,%r13,1),%r13d addl %ecx,%r13d xorl %r12d,%eax roll $30,%edi addl %eax,%r13d - movl %edi,%eax movl 28(%r9),%ebp + movl %r11d,%eax + movl %edx,24(%rsp) movl %r13d,%ecx - xorl %r11d,%eax bswapl %ebp + xorl %edi,%eax roll $5,%ecx - leal 1518500249(%rdx,%r12,1),%r12d andl %esi,%eax - movl %ebp,28(%rsp) + leal 1518500249(%rdx,%r12,1),%r12d addl %ecx,%r12d xorl %r11d,%eax roll $30,%esi addl %eax,%r12d - movl %esi,%eax - movl 32(%r9),%edx + movl 32(%r9),%r14d + movl %edi,%eax + movl %ebp,28(%rsp) movl %r12d,%ecx - xorl %edi,%eax - bswapl %edx + bswapl %r14d + xorl %esi,%eax roll $5,%ecx - leal 1518500249(%rbp,%r11,1),%r11d andl %r13d,%eax - movl %edx,32(%rsp) + leal 1518500249(%rbp,%r11,1),%r11d addl %ecx,%r11d xorl %edi,%eax roll $30,%r13d addl %eax,%r11d - movl %r13d,%eax - movl 36(%r9),%ebp + movl
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sun Mar 20 22:27:31 UTC 2016 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile Log Message: elide bug with new cpuid code. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile 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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.8 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.9 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.8 Sat May 16 18:23:31 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Sun Mar 20 18:27:31 2016 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.8 2015/05/16 22:23:31 joerg Exp $ +# $NetBSD: Makefile,v 1.9 2016/03/20 22:27:31 christos Exp $ .include "bsd.own.mk" @@ -16,6 +16,7 @@ regen: (echo "#include "; CC=${CC:Q} perl $$i elf | sed \ -e 's/\(OPENSSL[A-Za-z0-9_+]*\)(%rip)/\1@GOTPCREL(%rip)/' \ -e 's/.hidden OPENSSL_cpuid_setup/.globl OPENSSL_cpuid_setup/' \ - -e 's/call OPENSSL_cpuid_setup/call PIC_PLT(OPENSSL_cpuid_setup)/') \ + -e 's/call OPENSSL_cpuid_setup/call PIC_PLT(OPENSSL_cpuid_setup)/' \ + -e 's/rdseedq/rdseed/') \ > $$(basename $$i .pl).S; \ done
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sun Mar 20 22:18:43 UTC 2016 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: sha1-x86_64.S x86_64-mont5.S Log Message: re-gen to fix sha1. there were also improvements for montgomery multiplications that we did not have from a previous change. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.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/sha1-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.7 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.8 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.7 Thu May 28 15:13:53 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S Sun Mar 20 18:18:43 2016 @@ -1298,7 +1298,7 @@ _ssse3_shortcut: pushq %rbx pushq %rbp pushq %r12 - leaq -64(%rsp),%rsp + leaq -72(%rsp),%rsp movq %rdi,%r8 movq %rsi,%r9 movq %rdx,%r10 @@ -2470,7 +2470,7 @@ _ssse3_shortcut: movl %ecx,8(%r8) movl %edx,12(%r8) movl %ebp,16(%r8) - leaq 64(%rsp),%rsi + leaq 72(%rsp),%rsi movq 0(%rsi),%r12 movq 8(%rsi),%rbp movq 16(%rsi),%rbx @@ -2485,7 +2485,7 @@ _avx_shortcut: pushq %rbx pushq %rbp pushq %r12 - leaq -64(%rsp),%rsp + leaq -72(%rsp),%rsp movq %rdi,%r8 movq %rsi,%r9 movq %rdx,%r10 @@ -3621,7 +3621,7 @@ _avx_shortcut: movl %ecx,8(%r8) movl %edx,12(%r8) movl %ebp,16(%r8) - leaq 64(%rsp),%rsi + leaq 72(%rsp),%rsi movq 0(%rsi),%r12 movq 8(%rsi),%rbp movq 16(%rsi),%rbx Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.S:1.1 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.S:1.2 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.S:1.1 Sat May 16 18:23:31 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.S Sun Mar 20 18:18:43 2016 @@ -14,47 +14,153 @@ bn_mul_mont_gather5: .align 16 .Lmul_enter: movl %r9d,%r9d - movl 8(%rsp),%r10d + movd 8(%rsp),%xmm5 + leaq .Linc(%rip),%r10 pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 + +.Lmul_alloca: movq %rsp,%rax leaq 2(%r9),%r11 negq %r11 - leaq (%rsp,%r11,8),%rsp + leaq -264(%rsp,%r11,8),%rsp andq $-1024,%rsp movq %rax,8(%rsp,%r9,8) .Lmul_body: - movq %rdx,%r12 - movq %r10,%r11 - shrq $3,%r10 - andq $7,%r11 - notq %r10 - leaq .Lmagic_masks(%rip),%rax - andq $3,%r10 - leaq 96(%r12,%r11,8),%r12 - movq 0(%rax,%r10,8),%xmm4 - movq 8(%rax,%r10,8),%xmm5 - movq 16(%rax,%r10,8),%xmm6 - movq 24(%rax,%r10,8),%xmm7 - - movq -96(%r12),%xmm0 - movq -32(%r12),%xmm1 - pand %xmm4,%xmm0 - movq 32(%r12),%xmm2 - pand %xmm5,%xmm1 - movq 96(%r12),%xmm3 - pand %xmm6,%xmm2 - por %xmm1,%xmm0 - pand %xmm7,%xmm3 + leaq 128(%rdx),%r12 + movdqa 0(%r10),%xmm0 + movdqa 16(%r10),%xmm1 + leaq 24-112(%rsp,%r9,8),%r10 + andq $-16,%r10 + + pshufd $0,%xmm5,%xmm5 + movdqa %xmm1,%xmm4 + movdqa %xmm1,%xmm2 + paddd %xmm0,%xmm1 + pcmpeqd %xmm5,%xmm0 +.byte 0x67 + movdqa %xmm4,%xmm3 + paddd %xmm1,%xmm2 + pcmpeqd %xmm5,%xmm1 + movdqa %xmm0,112(%r10) + movdqa %xmm4,%xmm0 + + paddd %xmm2,%xmm3 + pcmpeqd %xmm5,%xmm2 + movdqa %xmm1,128(%r10) + movdqa %xmm4,%xmm1 + + paddd %xmm3,%xmm0 + pcmpeqd %xmm5,%xmm3 + movdqa %xmm2,144(%r10) + movdqa %xmm4,%xmm2 + + paddd %xmm0,%xmm1 + pcmpeqd %xmm5,%xmm0 + movdqa %xmm3,160(%r10) + movdqa %xmm4,%xmm3 + paddd %xmm1,%xmm2 + pcmpeqd %xmm5,%xmm1 + movdqa %xmm0,176(%r10) + movdqa %xmm4,%xmm0 + + paddd %xmm2,%xmm3 + pcmpeqd %xmm5,%xmm2 + movdqa %xmm1,192(%r10) + movdqa %xmm4,%xmm1 + + paddd %xmm3,%xmm0 + pcmpeqd %xmm5,%xmm3 + movdqa %xmm2,208(%r10) + movdqa %xmm4,%xmm2 + + paddd %xmm0,%xmm1 + pcmpeqd %xmm5,%xmm0 + movdqa %xmm3,224(%r10) + movdqa %xmm4,%xmm3 + paddd %xmm1,%xmm2 + pcmpeqd %xmm5,%xmm1 + movdqa %xmm0,240(%r10) + movdqa %xmm4,%xmm0 + + paddd %xmm2,%xmm3 + pcmpeqd %xmm5,%xmm2 + movdqa %xmm1,256(%r10) + movdqa %xmm4,%xmm1 + + paddd %xmm3,%xmm0 + pcmpeqd %xmm5,%xmm3 + movdqa %xmm2,272(%r10) + movdqa %xmm4,%xmm2 + + paddd %xmm0,%xmm1 + pcmpeqd %xmm5,%xmm0 + movdqa %xmm3,288(%r10) + movdqa %xmm4,%xmm3 + paddd %xmm1,%xmm2 + pcmpeqd %xmm5,%xmm1 + movdqa %xmm0,304(%r10) + + paddd %xmm2,%xmm3 +.byte 0x67 + pcmpeqd %xmm5,%xmm2 + movdqa %xmm1,320(%r10) + + pcmpeqd %xmm5,%xmm3 + movdqa %xmm2,336(%r10) + pand 64(%r12),%xmm0 + + pand 80(%r12),%xmm1 + pand 96(%r12),%xmm2 + movdqa %xmm3,352(%r10) + pand 112(%r12),%xmm3 + por %xmm2,%xmm0 + por %xmm3,%xmm1 + movdqa -128(%r12),%xmm4 + movdqa -112(%r12),%xmm5 + movdqa -96(%r12),%xmm2 + pand
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Thu May 28 19:13:53 UTC 2015 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: aes-x86_64.S aesni-sha1-x86_64.S rc4-x86_64.S sha1-x86_64.S x86_64-gf2m.S Log Message: Regenerate. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.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/aes-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.6 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.7 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.6 Sat Aug 4 11:03:34 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S Thu May 28 19:13:53 2015 @@ -1325,12 +1325,12 @@ AES_cbc_encrypt: leaq .LAES_Td(%rip),%r14 .Lcbc_picked_te: - movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%r10d + movq OPENSSL_ia32cap_P@GOTPCREL(%rip),%r10 cmpq $512,%rdx jb .Lcbc_slow_prologue testq $15,%rdx jnz .Lcbc_slow_prologue - btl $28,%r10d + bt $28,(%r10) jc .Lcbc_slow_prologue Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.6 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.7 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.6 Sat Aug 4 11:03:35 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S Thu May 28 19:13:53 2015 @@ -24,7 +24,7 @@ RC4: orq %rsi,%rsi movb -4(%rdi),%cl cmpl $-1,256(%rdi) je .LRC4_CHAR - movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%r8d + movq OPENSSL_ia32cap_P@GOTPCREL(%rip),%r8 xorq %rbx,%rbx incb %r10b subq %r10,%rbx @@ -32,7 +32,7 @@ RC4: orq %rsi,%rsi movl (%rdi,%r10,4),%eax testq $-16,%r11 jz .Lloop1 - btl $30,%r8d + bt $30,(%r8) jc .Lintel andq $7,%rbx leaq 1(%r10),%rsi @@ -531,8 +531,8 @@ private_RC4_set_key: xorq %r10,%r10 xorq %r11,%r11 - movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%r8d - btl $20,%r8d + movq OPENSSL_ia32cap_P@GOTPCREL(%rip),%r8 + bt $20,(%r8) jc .Lc1stloop jmp .Lw1stloop Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.6 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.7 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.6 Sat May 16 19:08:37 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S Thu May 28 19:13:53 2015 @@ -6,15 +6,12 @@ .type sha1_block_data_order,@function .align 16 sha1_block_data_order: - movl OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r9d - movl OPENSSL_ia32cap_P+4@GOTPCREL(%rip),%r8d - testl $512,%r8d - jz .Lialu - andl $268435456,%r8d - andl $1073741824,%r9d - orl %r9d,%r8d - cmpl $1342177280,%r8d - je _avx_shortcut + movq OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r8 + movl 4(%r8),%r8d + btl $9,%r8d + jnc .Lialu + btl $28,%r8d + jc _avx_shortcut jmp _ssse3_shortcut .align 16 Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S:1.4 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S:1.5 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S:1.4 Sat May 16 19:08:37 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S Thu May 28 19:13:53 2015 @@ -7,13 +7,9 @@ .align 16 aesni_cbc_sha1_enc: - movl OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r10d - movl OPENSSL_ia32cap_P+4@GOTPCREL(%rip),%r11d - andl $268435456,%r11d - andl $1073741824,%r10d - orl %r11d,%r10d - cmpl $1342177280,%r10d - je aesni_cbc_sha1_enc_avx + movq OPENSSL_ia32cap_P@GOTPCREL(%rip),%r10 + bt $28,4(%r10) + jc aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.1 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.2 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.1 Sat May 16 22:23:31 2015 +++
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Sat May 16 20:23:38 UTC 2015 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: aes.inc Log Message: No need for SSE2 define. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc 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/aes.inc diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.5 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.6 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.5 Sat May 16 20:23:06 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc Sat May 16 20:23:38 2015 @@ -1,5 +1,5 @@ .PATH.S: ${.PARSEDIR} AES_SRCS = aes-x86_64.S aesni-x86_64.S bsaes-x86_64.S vpaes-x86_64.S -AESCPPFLAGS = -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DOPENSSL_IA32_SSE2 +AESCPPFLAGS = -DAES_ASM -DVPAES_ASM -DBSAES_ASM AESNI = yes .include ../../aes.inc
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Sat May 16 20:23:06 UTC 2015 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: aes.inc Log Message: Use Bitsplice/Vector optimized AES too. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc 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/aes.inc diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.4 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.5 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.4 Mon Jul 25 09:36:10 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc Sat May 16 20:23:06 2015 @@ -1,5 +1,5 @@ .PATH.S: ${.PARSEDIR} -AES_SRCS = aes-x86_64.S aesni-x86_64.S -AESCPPFLAGS = -DAES_ASM -DOPENSSL_IA32_SSE2 +AES_SRCS = aes-x86_64.S aesni-x86_64.S bsaes-x86_64.S vpaes-x86_64.S +AESCPPFLAGS = -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DOPENSSL_IA32_SSE2 AESNI = yes .include ../../aes.inc
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Sat May 16 19:09:03 UTC 2015 Added Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: sha.inc Log Message: Use assembler version of SHA1. Can't use SHA2 version yet due to overlap with libc. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha.inc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Added files: Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha.inc diff -u /dev/null src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha.inc:1.1 --- /dev/null Sat May 16 19:09:03 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha.inc Sat May 16 19:09:03 2015 @@ -0,0 +1,8 @@ +.PATH.S: ${.PARSEDIR} +SHA_SRCS = sha1-x86_64.S +SHACPPFLAGS = -DSHA1_ASM +.if 0 +SHA_SRCS += sha512-x86_64.S +SHACPPFLAGS+= -DSHA256_ASM -DSHA512_ASM +.endif +.include ../../sha.inc
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Sat May 16 17:26:00 UTC 2015 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: modes.inc Log Message: Use assembler routine for GCM modes on x86_64. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/modes.inc 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/modes.inc diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/modes.inc:1.1 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/modes.inc:1.2 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/modes.inc:1.1 Thu Jul 26 19:58:42 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/modes.inc Sat May 16 17:26:00 2015 @@ -1,3 +1,4 @@ .PATH.S: ${.PARSEDIR} -MODES_SRCS += modexp512-x86_64.S +MODES_SRCS += modexp512-x86_64.S ghash-x86_64.o +MODESCPPFLAGS = -DGHASH_ASM .include ../../modes.inc
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Sat May 16 19:08:37 UTC 2015 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile aesni-sha1-x86_64.S sha1-x86_64.S Log Message: Explicitly pass CC down. When building with clang, force external assembler as some of the Perl scripts use -Wa,-v. Regenerate for AVX support. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.6 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.7 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.6 Sat Aug 4 11:03:34 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Sat May 16 19:08:37 2015 @@ -1,14 +1,18 @@ -# $NetBSD: Makefile,v 1.6 2012/08/04 11:03:34 christos Exp $ +# $NetBSD: Makefile,v 1.7 2015/05/16 19:08:37 joerg Exp $ .include bsd.own.mk CRYPTODIST=${NETBSDSRCDIR}/crypto .include ${NETBSDSRCDIR}/crypto/Makefile.openssl +.if make(regen) ${HAVE_LLVM:U} == yes +CC+= -fno-integrated-as +.endif + regen: for i in $$(find ${OPENSSLSRC} -name \*${MACHINE_ARCH}.pl) \ ${OPENSSLSRC}/crypto/${MACHINE_ARCH}cpuid.pl ; do \ -(echo #include machine/asm.h; perl $$i elf | sed \ +(echo #include machine/asm.h; CC=${CC:Q} perl $$i elf | sed \ -e 's/\(OPENSSL[A-Za-z0-9_+]*\)(%rip)/\1@GOTPCREL(%rip)/' \ -e 's/.hidden OPENSSL_cpuid_setup/.globl OPENSSL_cpuid_setup/' \ -e 's/call OPENSSL_cpuid_setup/call PIC_PLT(OPENSSL_cpuid_setup)/') \ Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S:1.3 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S:1.4 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S:1.3 Sat Aug 4 11:03:34 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S Sat May 16 19:08:37 2015 @@ -9,6 +9,11 @@ aesni_cbc_sha1_enc: movl OPENSSL_ia32cap_P+0@GOTPCREL(%rip),%r10d movl OPENSSL_ia32cap_P+4@GOTPCREL(%rip),%r11d + andl $268435456,%r11d + andl $1073741824,%r10d + orl %r11d,%r10d + cmpl $1342177280,%r10d + je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc @@ -1385,6 +1390,1343 @@ aesni_cbc_sha1_enc_ssse3: .Lepilogue_ssse3: .byte 0xf3,0xc3 .size aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3 +.type aesni_cbc_sha1_enc_avx,@function +.align 16 +aesni_cbc_sha1_enc_avx: + movq 8(%rsp),%r10 + + + pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + leaq -104(%rsp),%rsp + + + vzeroall + movq %rdi,%r12 + movq %rsi,%r13 + movq %rdx,%r14 + movq %rcx,%r15 + vmovdqu (%r8),%xmm11 + movq %r8,88(%rsp) + shlq $6,%r14 + subq %r12,%r13 + movl 240(%r15),%r8d + addq $112,%r15 + addq %r10,%r14 + + leaq K_XX_XX(%rip),%r11 + movl 0(%r9),%eax + movl 4(%r9),%ebx + movl 8(%r9),%ecx + movl 12(%r9),%edx + movl %ebx,%esi + movl 16(%r9),%ebp + + vmovdqa 64(%r11),%xmm6 + vmovdqa 0(%r11),%xmm9 + vmovdqu 0(%r10),%xmm0 + vmovdqu 16(%r10),%xmm1 + vmovdqu 32(%r10),%xmm2 + vmovdqu 48(%r10),%xmm3 + vpshufb %xmm6,%xmm0,%xmm0 + addq $64,%r10 + vpshufb %xmm6,%xmm1,%xmm1 + vpshufb %xmm6,%xmm2,%xmm2 + vpshufb %xmm6,%xmm3,%xmm3 + vpaddd %xmm9,%xmm0,%xmm4 + vpaddd %xmm9,%xmm1,%xmm5 + vpaddd %xmm9,%xmm2,%xmm6 + vmovdqa %xmm4,0(%rsp) + vmovdqa %xmm5,16(%rsp) + vmovdqa %xmm6,32(%rsp) + vmovups -112(%r15),%xmm13 + vmovups 16-112(%r15),%xmm14 + jmp .Loop_avx +.align 16 +.Loop_avx: + addl 0(%rsp),%ebp + vmovups 0(%r12),%xmm12 + vxorps %xmm13,%xmm12,%xmm12 + vxorps %xmm12,%xmm11,%xmm11 + vaesenc %xmm14,%xmm11,%xmm11 + vmovups -80(%r15),%xmm15 + xorl %edx,%ecx + vpalignr $8,%xmm0,%xmm1,%xmm4 + movl %eax,%edi + shldl $5,%eax,%eax + vpaddd %xmm3,%xmm9,%xmm9 + andl %ecx,%esi + xorl %edx,%ecx + vpsrldq $4,%xmm3,%xmm8 + xorl %edx,%esi + addl %eax,%ebp + vpxor %xmm0,%xmm4,%xmm4 + shrdl $2,%ebx,%ebx + addl %esi,%ebp + vpxor %xmm2,%xmm8,%xmm8 + addl 4(%rsp),%edx + xorl %ecx,%ebx + movl %ebp,%esi + shldl $5,%ebp,%ebp + vpxor %xmm8,%xmm4,%xmm4 + andl %ebx,%edi + xorl %ecx,%ebx + vmovdqa %xmm9,48(%rsp) + xorl %ecx,%edi + vaesenc %xmm15,%xmm11,%xmm11 + vmovups -64(%r15),%xmm14 + addl %ebp,%edx + vpsrld $31,%xmm4,%xmm8 + shrdl $7,%eax,%eax + addl %edi,%edx + addl 8(%rsp),%ecx + xorl %ebx,%eax + vpslldq $12,%xmm4,%xmm10 +
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Sat May 16 22:23:31 UTC 2015 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile Added Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: x86_64-gf2m.S x86_64-mont.S x86_64-mont5.S Log Message: Find CPU-specific variants of the long number routines. Regenerate. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile cvs rdiff -u -r0 -r1.1 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-mont5.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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.7 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.8 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.7 Sat May 16 19:08:37 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Sat May 16 22:23:31 2015 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2015/05/16 19:08:37 joerg Exp $ +# $NetBSD: Makefile,v 1.8 2015/05/16 22:23:31 joerg Exp $ .include bsd.own.mk @@ -11,6 +11,7 @@ CC+= -fno-integrated-as regen: for i in $$(find ${OPENSSLSRC} -name \*${MACHINE_ARCH}.pl) \ + $$(find ${OPENSSLSRC}/crypto/bn/asm -name ${MACHINE_ARCH}-\*.pl) \ ${OPENSSLSRC}/crypto/${MACHINE_ARCH}cpuid.pl ; do \ (echo #include machine/asm.h; CC=${CC:Q} perl $$i elf | sed \ -e 's/\(OPENSSL[A-Za-z0-9_+]*\)(%rip)/\1@GOTPCREL(%rip)/' \ Added files: Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S diff -u /dev/null src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S:1.1 --- /dev/null Sat May 16 22:23:31 2015 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64-gf2m.S Sat May 16 22:23:31 2015 @@ -0,0 +1,292 @@ +#include machine/asm.h +.text + +.type _mul_1x1,@function +.align 16 +_mul_1x1: + subq $128+8,%rsp + movq $-1,%r9 + leaq (%rax,%rax,1),%rsi + shrq $3,%r9 + leaq (,%rax,4),%rdi + andq %rax,%r9 + leaq (,%rax,8),%r12 + sarq $63,%rax + leaq (%r9,%r9,1),%r10 + sarq $63,%rsi + leaq (,%r9,4),%r11 + andq %rbp,%rax + sarq $63,%rdi + movq %rax,%rdx + shlq $63,%rax + andq %rbp,%rsi + shrq $1,%rdx + movq %rsi,%rcx + shlq $62,%rsi + andq %rbp,%rdi + shrq $2,%rcx + xorq %rsi,%rax + movq %rdi,%rbx + shlq $61,%rdi + xorq %rcx,%rdx + shrq $3,%rbx + xorq %rdi,%rax + xorq %rbx,%rdx + + movq %r9,%r13 + movq $0,0(%rsp) + xorq %r10,%r13 + movq %r9,8(%rsp) + movq %r11,%r14 + movq %r10,16(%rsp) + xorq %r12,%r14 + movq %r13,24(%rsp) + + xorq %r11,%r9 + movq %r11,32(%rsp) + xorq %r11,%r10 + movq %r9,40(%rsp) + xorq %r11,%r13 + movq %r10,48(%rsp) + xorq %r14,%r9 + movq %r13,56(%rsp) + xorq %r14,%r10 + + movq %r12,64(%rsp) + xorq %r14,%r13 + movq %r9,72(%rsp) + xorq %r11,%r9 + movq %r10,80(%rsp) + xorq %r11,%r10 + movq %r13,88(%rsp) + + xorq %r11,%r13 + movq %r14,96(%rsp) + movq %r8,%rsi + movq %r9,104(%rsp) + andq %rbp,%rsi + movq %r10,112(%rsp) + shrq $4,%rbp + movq %r13,120(%rsp) + movq %r8,%rdi + andq %rbp,%rdi + shrq $4,%rbp + + movq (%rsp,%rsi,8),%xmm0 + movq %r8,%rsi + andq %rbp,%rsi + shrq $4,%rbp + movq (%rsp,%rdi,8),%rcx + movq %r8,%rdi + movq %rcx,%rbx + shlq $4,%rcx + andq %rbp,%rdi + movq (%rsp,%rsi,8),%xmm1 + shrq $60,%rbx + xorq %rcx,%rax + pslldq $1,%xmm1 + movq %r8,%rsi + shrq $4,%rbp + xorq %rbx,%rdx + andq %rbp,%rsi + shrq $4,%rbp + pxor %xmm1,%xmm0 + movq (%rsp,%rdi,8),%rcx + movq %r8,%rdi + movq %rcx,%rbx + shlq $12,%rcx + andq %rbp,%rdi + movq (%rsp,%rsi,8),%xmm1 + shrq $52,%rbx + xorq %rcx,%rax + pslldq $2,%xmm1 + movq %r8,%rsi + shrq $4,%rbp + xorq %rbx,%rdx + andq %rbp,%rsi + shrq $4,%rbp + pxor %xmm1,%xmm0 + movq (%rsp,%rdi,8),%rcx + movq %r8,%rdi + movq %rcx,%rbx + shlq $20,%rcx + andq %rbp,%rdi + movq (%rsp,%rsi,8),%xmm1 + shrq $44,%rbx + xorq %rcx,%rax + pslldq $3,%xmm1 + movq %r8,%rsi + shrq $4,%rbp + xorq %rbx,%rdx + andq %rbp,%rsi + shrq $4,%rbp + pxor %xmm1,%xmm0 + movq (%rsp,%rdi,8),%rcx + movq %r8,%rdi + movq %rcx,%rbx + shlq $28,%rcx + andq %rbp,%rdi + movq (%rsp,%rsi,8),%xmm1 + shrq $36,%rbx + xorq %rcx,%rax + pslldq $4,%xmm1 + movq %r8,%rsi + shrq $4,%rbp + xorq %rbx,%rdx + andq %rbp,%rsi + shrq $4,%rbp + pxor %xmm1,%xmm0 + movq (%rsp,%rdi,8),%rcx + movq %r8,%rdi + movq %rcx,%rbx + shlq $36,%rcx + andq %rbp,%rdi + movq (%rsp,%rsi,8),%xmm1 + shrq $28,%rbx + xorq %rcx,%rax + pslldq $5,%xmm1 + movq %r8,%rsi + shrq $4,%rbp + xorq %rbx,%rdx + andq %rbp,%rsi + shrq $4,%rbp + pxor %xmm1,%xmm0 + movq (%rsp,%rdi,8),%rcx + movq %r8,%rdi + movq %rcx,%rbx + shlq $44,%rcx + andq %rbp,%rdi + movq (%rsp,%rsi,8),%xmm1 +
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sat Jan 11 18:21:45 UTC 2014 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: bsaes-x86_64.S Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/bsaes-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/bsaes-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/bsaes-x86_64.S:1.3 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/bsaes-x86_64.S:1.4 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/bsaes-x86_64.S:1.3 Sat Aug 4 07:03:34 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/bsaes-x86_64.S Sat Jan 11 13:21:45 2014 @@ -365,7 +365,6 @@ _bsaes_encrypt8_bitslice: pxor %xmm11,%xmm7 pshufd $78,%xmm3,%xmm1 pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 pxor %xmm14,%xmm6 pxor %xmm13,%xmm5 @@ -798,148 +797,86 @@ _bsaes_decrypt8: decl %r10d jl .Ldec_done - pshufd $147,%xmm4,%xmm14 - movdqa %xmm5,%xmm9 - pxor %xmm6,%xmm4 - pxor %xmm6,%xmm5 - pshufd $147,%xmm15,%xmm7 - movdqa %xmm6,%xmm12 - pxor %xmm15,%xmm6 - pxor %xmm0,%xmm15 - pshufd $147,%xmm0,%xmm8 - pxor %xmm5,%xmm0 - pxor %xmm2,%xmm15 - pxor %xmm3,%xmm0 - pshufd $147,%xmm3,%xmm10 - pxor %xmm15,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm4 - pshufd $147,%xmm2,%xmm13 - movdqa %xmm1,%xmm11 - pxor %xmm1,%xmm2 - pxor %xmm3,%xmm1 - pxor %xmm4,%xmm3 - pxor %xmm12,%xmm2 - pxor %xmm9,%xmm3 - pxor %xmm11,%xmm3 - pshufd $147,%xmm12,%xmm12 - - pxor %xmm4,%xmm6 - pxor %xmm7,%xmm4 - pxor %xmm8,%xmm6 - pshufd $147,%xmm9,%xmm9 - pxor %xmm12,%xmm4 - pxor %xmm13,%xmm6 - pxor %xmm14,%xmm4 - pshufd $147,%xmm11,%xmm11 - pxor %xmm13,%xmm14 - pxor %xmm4,%xmm6 - + pshufd $78,%xmm15,%xmm7 + pshufd $78,%xmm2,%xmm13 + pxor %xmm15,%xmm7 + pshufd $78,%xmm4,%xmm14 + pxor %xmm2,%xmm13 + pshufd $78,%xmm0,%xmm8 + pxor %xmm4,%xmm14 + pshufd $78,%xmm5,%xmm9 + pxor %xmm0,%xmm8 + pshufd $78,%xmm3,%xmm10 + pxor %xmm5,%xmm9 + pxor %xmm13,%xmm15 + pxor %xmm13,%xmm0 + pshufd $78,%xmm1,%xmm11 + pxor %xmm3,%xmm10 pxor %xmm7,%xmm5 - pshufd $147,%xmm7,%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm9,%xmm15 - pshufd $147,%xmm8,%xmm8 - pxor %xmm9,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm14,%xmm15 - pshufd $147,%xmm9,%xmm9 - pxor %xmm10,%xmm5 - pxor %xmm10,%xmm1 - pxor %xmm10,%xmm0 - pshufd $147,%xmm10,%xmm10 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm3 - pxor %xmm14,%xmm2 - pxor %xmm12,%xmm5 - pxor %xmm11,%xmm0 - pxor %xmm12,%xmm14 - - pxor %xmm14,%xmm3 - pshufd $147,%xmm11,%xmm11 - pxor %xmm14,%xmm1 + pxor %xmm8,%xmm3 + pshufd $78,%xmm6,%xmm12 + pxor %xmm1,%xmm11 pxor %xmm14,%xmm0 + pxor %xmm9,%xmm1 + pxor %xmm6,%xmm12 - pxor %xmm12,%xmm14 - pshufd $147,%xmm12,%xmm12 - pxor %xmm13,%xmm14 - - - pxor %xmm2,%xmm0 + pxor %xmm14,%xmm5 + pxor %xmm13,%xmm3 + pxor %xmm13,%xmm1 + pxor %xmm10,%xmm6 pxor %xmm11,%xmm2 - pshufd $147,%xmm13,%xmm13 - pxor %xmm7,%xmm15 - pxor %xmm12,%xmm2 - pxor %xmm9,%xmm15 - pshufd $147,%xmm14,%xmm14 - - pxor %xmm6,%xmm5 - pxor %xmm8,%xmm6 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm5 - pxor %xmm12,%xmm6 - pxor %xmm12,%xmm4 + pxor %xmm14,%xmm1 pxor %xmm14,%xmm6 - pshufd $147,%xmm7,%xmm7 - pxor %xmm13,%xmm4 - pxor %xmm6,%xmm5 + pxor %xmm12,%xmm4 + pshufd $147,%xmm15,%xmm7 + pshufd $147,%xmm0,%xmm8 + pxor %xmm7,%xmm15 + pshufd $147,%xmm5,%xmm9 pxor %xmm8,%xmm0 - pshufd $147,%xmm8,%xmm8 - - pxor %xmm14,%xmm2 - pxor %xmm9,%xmm0 - pxor %xmm9,%xmm3 - pshufd $147,%xmm9,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm10,%xmm13 - pxor %xmm2,%xmm0 - pxor %xmm13,%xmm5 - - pxor %xmm13,%xmm1 - pxor %xmm12,%xmm3 + pshufd $147,%xmm3,%xmm10 + pxor %xmm9,%xmm5 + pshufd $147,%xmm1,%xmm11 + pxor %xmm10,%xmm3 + pshufd $147,%xmm6,%xmm12 pxor %xmm11,%xmm1 - pshufd $147,%xmm11,%xmm11 - pxor %xmm13,%xmm3 - pxor %xmm14,%xmm1 - pxor %xmm10,%xmm13 - - pshufd $147,%xmm12,%xmm12 - pshufd $147,%xmm13,%xmm13 - pshufd $147,%xmm14,%xmm14 - pshufd $147,%xmm10,%xmm10 - + pshufd $147,%xmm2,%xmm13 + pxor %xmm12,%xmm6 + pshufd $147,%xmm4,%xmm14 + pxor %xmm13,%xmm2 + pxor %xmm14,%xmm4 - pxor %xmm6,%xmm0 - pxor %xmm6,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm12,%xmm8 - pxor %xmm7,%xmm5 + pxor %xmm15,%xmm8 pxor %xmm4,%xmm7 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm13 + pxor %xmm4,%xmm8 + pshufd $78,%xmm15,%xmm15 + pxor %xmm0,%xmm9 + pshufd $78,%xmm0,%xmm0 + pxor %xmm1,%xmm12 + pxor %xmm7,%xmm15 + pxor %xmm6,%xmm13 pxor %xmm8,%xmm0 - pxor %xmm11,%xmm2 - pxor %xmm0,%xmm11 - pxor %xmm10,%xmm1 - pxor %xmm5,%xmm10 - pxor %xmm9,%xmm3 - pxor %xmm15,%xmm9 - pxor %xmm14,%xmm10 - pxor %xmm3,%xmm12 - pxor %xmm13,%xmm9 - pxor %xmm13,%xmm12 - pxor %xmm1,%xmm13 + pxor %xmm3,%xmm11 + pshufd $78,%xmm1,%xmm7 pxor %xmm2,%xmm14 - - movdqa %xmm7,%xmm15 - movdqa %xmm8,%xmm0 - movdqa %xmm9,%xmm1 - movdqa %xmm10,%xmm2 - movdqa
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Sat Aug 4 11:03:35 UTC 2012 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile aes-x86_64.S aesni-sha1-x86_64.S aesni-x86_64.S bsaes-x86_64.S cmll-x86_64.S ghash-x86_64.S md5-x86_64.S modexp512-x86_64.S rc4-md5-x86_64.S rc4-x86_64.S sha1-x86_64.S sha512-x86_64.S uplink-x86_64.S vpaes-x86_64.S wp-x86_64.S x86_64cpuid.S Log Message: add #include machine/asm.h, use PIC_PLT() To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/bsaes-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/ghash-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/md5-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/vpaes-x86_64.S cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/modexp512-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-md5-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/uplink-x86_64.S cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.5 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.6 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.5 Fri Jul 27 14:16:53 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Sat Aug 4 07:03:34 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.5 2012/07/27 18:16:53 christos Exp $ +# $NetBSD: Makefile,v 1.6 2012/08/04 11:03:34 christos Exp $ .include bsd.own.mk @@ -8,9 +8,9 @@ CRYPTODIST=${NETBSDSRCDIR}/crypto regen: for i in $$(find ${OPENSSLSRC} -name \*${MACHINE_ARCH}.pl) \ ${OPENSSLSRC}/crypto/${MACHINE_ARCH}cpuid.pl ; do \ -perl $$i elf | sed \ +(echo #include machine/asm.h; perl $$i elf | sed \ -e 's/\(OPENSSL[A-Za-z0-9_+]*\)(%rip)/\1@GOTPCREL(%rip)/' \ -e 's/.hidden OPENSSL_cpuid_setup/.globl OPENSSL_cpuid_setup/' \ - -e 's/call OPENSSL_cpuid_setup/call OPENSSL_cpuid_setup@GOTPCREL(%rip)/' \ + -e 's/call OPENSSL_cpuid_setup/call PIC_PLT(OPENSSL_cpuid_setup)/') \ $$(basename $$i .pl).S; \ done Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.5 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.6 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.5 Thu Jul 26 17:22:47 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S Sat Aug 4 07:03:34 2012 @@ -1,3 +1,4 @@ +#include machine/asm.h .text .type _x86_64_AES_encrypt,@function .align 16 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.5 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S:1.6 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S:1.5 Thu Jul 26 17:22:47 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S Sat Aug 4 07:03:34 2012 @@ -1,3 +1,4 @@ +#include machine/asm.h .text .globl aesni_encrypt .type aesni_encrypt,@function Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.5 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.6 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.5 Thu Jul 26 17:22:47 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S Sat Aug 4 07:03:35 2012 @@ -1,3 +1,4 @@ +#include machine/asm.h .text Index:
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Fri Jul 27 16:04:30 UTC 2012 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: x86_64cpuid.S Log Message: make OPENSSL_cpuid_setup global again To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.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/x86_64cpuid.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S:1.3 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S:1.2 Thu Jul 26 15:58:42 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S Fri Jul 27 12:04:30 2012 @@ -1,7 +1,7 @@ -.hidden OPENSSL_cpuid_setup +.globl OPENSSL_cpuid_setup .section .init - call OPENSSL_cpuid_setup + call OPENSSL_cpuid_setup@GOTPCREL(%rip) .hidden OPENSSL_ia32cap_P .comm OPENSSL_ia32cap_P,8,4
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Fri Jul 27 18:16:53 UTC 2012 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile Log Message: more assembly munging To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile 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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.4 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.5 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.4 Thu Jul 26 17:22:47 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Fri Jul 27 14:16:53 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2012/07/26 21:22:47 christos Exp $ +# $NetBSD: Makefile,v 1.5 2012/07/27 18:16:53 christos Exp $ .include bsd.own.mk @@ -8,6 +8,9 @@ CRYPTODIST=${NETBSDSRCDIR}/crypto regen: for i in $$(find ${OPENSSLSRC} -name \*${MACHINE_ARCH}.pl) \ ${OPENSSLSRC}/crypto/${MACHINE_ARCH}cpuid.pl ; do \ -perl $$i elf | sed -e 's/\(OPENSSL[A-Za-z0-9_+]*\)(%rip)/\1@GOTPCREL(%rip)/' \ +perl $$i elf | sed \ + -e 's/\(OPENSSL[A-Za-z0-9_+]*\)(%rip)/\1@GOTPCREL(%rip)/' \ + -e 's/.hidden OPENSSL_cpuid_setup/.globl OPENSSL_cpuid_setup/' \ + -e 's/call OPENSSL_cpuid_setup/call OPENSSL_cpuid_setup@GOTPCREL(%rip)/' \ $$(basename $$i .pl).S; \ done
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: christos Date: Thu Jul 26 21:22:47 UTC 2012 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: Makefile aes-x86_64.S aesni-sha1-x86_64.S aesni-x86_64.S bsaes-x86_64.S cmll-x86_64.S ghash-x86_64.S rc4-x86_64.S sha1-x86_64.S sha512-x86_64.S vpaes-x86_64.S wp-x86_64.S Log Message: Don't do the PLTGOT for local labels, limit it to OPENSSL_ global symbols. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aesni-sha1-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/bsaes-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/ghash-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/vpaes-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/Makefile diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.3 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.4 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile:1.3 Tue Jul 5 06:42:54 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/Makefile Thu Jul 26 17:22:47 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2011/07/05 10:42:54 spz Exp $ +# $NetBSD: Makefile,v 1.4 2012/07/26 21:22:47 christos Exp $ .include bsd.own.mk @@ -8,6 +8,6 @@ CRYPTODIST=${NETBSDSRCDIR}/crypto regen: for i in $$(find ${OPENSSLSRC} -name \*${MACHINE_ARCH}.pl) \ ${OPENSSLSRC}/crypto/${MACHINE_ARCH}cpuid.pl ; do \ -perl $$i elf | sed -e 's/(%rip)/@GOTPCREL(%rip)/' \ +perl $$i elf | sed -e 's/\(OPENSSL[A-Za-z0-9_+]*\)(%rip)/\1@GOTPCREL(%rip)/' \ $$(basename $$i .pl).S; \ done Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S:1.3 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S:1.4 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S:1.3 Thu Jul 26 15:58:42 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S Thu Jul 26 17:22:47 2012 @@ -29,7 +29,7 @@ Camellia_EncryptBlock_Rounds: movq %rdx,%r14 shll $6,%edi - leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp + leaq .LCamellia_SBOX(%rip),%rbp leaq (%r14,%rdi,1),%r15 movl 0(%rsi),%r8d @@ -298,7 +298,7 @@ Camellia_DecryptBlock_Rounds: movq %rdx,%r15 shll $6,%edi - leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp + leaq .LCamellia_SBOX(%rip),%rbp leaq (%r15,%rdi,1),%r14 movl 0(%rsi),%r8d @@ -595,8 +595,8 @@ Camellia_Ekeygen: xorl 12(%r13),%r10d .L1st128: - leaq .LCamellia_SIGMA@GOTPCREL(%rip),%r14 - leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp + leaq .LCamellia_SIGMA(%rip),%r14 + leaq .LCamellia_SBOX(%rip),%rbp movl 0(%r14),%ebx movl 4(%r14),%eax @@ -1638,7 +1638,7 @@ Camellia_cbc_encrypt: movq %rbp,48(%rsp) .Lcbc_body: - leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp + leaq .LCamellia_SBOX(%rip),%rbp movl $32,%ecx .align 4 Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.3 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.4 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S:1.3 Thu Jul 26 15:58:42 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha1-x86_64.S Thu Jul 26 17:22:47 2012 @@ -1302,7 +1302,7 @@ _ssse3_shortcut: shlq $6,%r10 addq %r9,%r10 - leaq K_XX_XX@GOTPCREL(%rip),%r11 + leaq K_XX_XX(%rip),%r11 movl 0(%r8),%eax movl 4(%r8),%ebx Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.4 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.5 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.4 Thu Jul 26 15:58:42 2012 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S Thu Jul 26 17:22:47 2012 @@ -369,7
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Thu Jul 28 20:24:37 UTC 2011 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: aes-x86_64.S cmll-x86_64.S rc4-x86_64.S sha512-x86_64.S wp-x86_64.S Log Message: Drop @GOTPCREL when accessing local variables. For yet unknown reasons, our version of GNU as decides to silently ignore it. Never versions on other systems and Clang actually keep it around and create bad object files. The object files are identical after the changes modulo the GOT entry in the symbol table. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-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/aes-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.3 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S:1.2 Sun Jun 5 23:09:50 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes-x86_64.S Thu Jul 28 20:24:36 2011 @@ -366,7 +366,7 @@ movq %rbp,8(%rsp) - leaq .LAES_Te+2048@GOTPCREL(%rip),%r14 + leaq .LAES_Te+2048(%rip),%r14 leaq 768(%rsp),%rbp subq %r14,%rbp andq $768,%rbp @@ -811,7 +811,7 @@ movq %rbp,8(%rsp) - leaq .LAES_Td+2048@GOTPCREL(%rip),%r14 + leaq .LAES_Td+2048(%rip),%r14 leaq 768(%rsp),%rbp subq %r14,%rbp andq $768,%rbp @@ -876,7 +876,7 @@ testq $-1,%rdi jz .Lbadpointer - leaq .LAES_Te@GOTPCREL(%rip),%rbp + leaq .LAES_Te(%rip),%rbp leaq 2048+128(%rbp),%rbp @@ -1141,7 +1141,7 @@ cmpq %rsi,%rdi jne .Linvert - leaq .LAES_Te+2048+1024@GOTPCREL(%rip),%rax + leaq .LAES_Te+2048+1024(%rip),%rax movq 40(%rax),%rsi movq 48(%rax),%rdi @@ -1309,10 +1309,10 @@ cld movl %r9d,%r9d - leaq .LAES_Te@GOTPCREL(%rip),%r14 + leaq .LAES_Te(%rip),%r14 cmpq $0,%r9 jne .Lcbc_picked_te - leaq .LAES_Td@GOTPCREL(%rip),%r14 + leaq .LAES_Td(%rip),%r14 .Lcbc_picked_te: movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%r10d Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.3 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S:1.2 Sun Jun 5 23:09:50 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/rc4-x86_64.S Thu Jul 28 20:24:36 2011 @@ -401,7 +401,7 @@ .type RC4_options,@function .align 16 RC4_options: - leaq .Lopts@GOTPCREL(%rip),%rax + leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%edx btl $20,%edx jnc .Ldone Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S:1.3 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S:1.2 Sun Jun 5 23:09:50 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/sha512-x86_64.S Thu Jul 28 20:24:36 2011 @@ -21,7 +21,7 @@ movq %r11,64+24(%rsp) .Lprologue: - leaq K256@GOTPCREL(%rip),%rbp + leaq K256(%rip),%rbp movl 0(%rdi),%eax movl 4(%rdi),%ebx Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S:1.2 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S:1.3 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S:1.2 Sun Jun 5 23:09:50 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/wp-x86_64.S Thu Jul 28 20:24:36 2011 @@ -23,7 +23,7 @@ .Lprologue: movq %r10,%rbx - leaq .Ltable@GOTPCREL(%rip),%rbp + leaq .Ltable(%rip),%rbp xorq %rcx,%rcx xorq %rdx,%rdx Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S:1.1 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S:1.2 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S:1.1 Mon Jun 6 06:08:53 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/cmll-x86_64.S Thu Jul 28 20:24:36 2011 @@ -29,7 +29,7 @@ movq %rdx,%r14 shll $6,%edi - leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp + leaq .LCamellia_SBOX(%rip),%rbp leaq
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
Module Name:src Committed By: joerg Date: Mon Jul 25 09:36:10 UTC 2011 Modified Files: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64: aes.inc Log Message: Works with the integrated assembler again. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc 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/aes.inc diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.3 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.4 --- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc:1.3 Sun Jul 17 19:48:31 2011 +++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/aes.inc Mon Jul 25 09:36:10 2011 @@ -3,6 +3,3 @@ AESCPPFLAGS = -DAES_ASM -DOPENSSL_IA32_SSE2 AESNI = yes .include ../../aes.inc - -COPTS.aesni-x86_64.S+= ${${ACTIVE_CC} == clang:?-no-integrated-as:} -COPTS.aes-x86_64.S+= ${${ACTIVE_CC} == clang:?-no-integrated-as:}
CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64
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