CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64

2020-01-23 Thread Christos Zoulas
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

2017-01-09 Thread Andreas Gustafsson
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

2017-01-08 Thread Christos Zoulas
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

2017-01-08 Thread Christos Zoulas
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

2017-01-07 Thread Christos Zoulas
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

2016-03-21 Thread Christos Zoulas
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

2016-03-20 Thread Christos Zoulas
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

2016-03-20 Thread Christos Zoulas
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

2016-03-20 Thread Christos Zoulas
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

2015-05-28 Thread Joerg Sonnenberger
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

2015-05-16 Thread Joerg Sonnenberger
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

2015-05-16 Thread Joerg Sonnenberger
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

2015-05-16 Thread Joerg Sonnenberger
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

2015-05-16 Thread Joerg Sonnenberger
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

2015-05-16 Thread Joerg Sonnenberger
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

2015-05-16 Thread Joerg Sonnenberger
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

2014-01-11 Thread Christos Zoulas
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

2012-08-04 Thread Christos Zoulas
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

2012-07-27 Thread Christos Zoulas
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

2012-07-27 Thread Christos Zoulas
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

2012-07-26 Thread Christos Zoulas
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

2011-07-28 Thread Joerg Sonnenberger
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

2011-07-25 Thread Joerg Sonnenberger
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

2011-07-25 Thread Jean-Yves Migeon
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