Fix a mismerge from head to projects/openssl111.

r339213 was cherry-picked back to head from the project branch, which
caused a conflict.  This commit properly records the mergeinfo from
head.

r339205 was missed, and r339214 is required for reintegration.

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
gjb 2018-10-08 19:39:05 +00:00
parent f328ad48e2
commit abd6100eeb
2 changed files with 69 additions and 23 deletions

View File

@ -320,43 +320,92 @@ END(memcpy_erms)
* memset(dst, c, len)
* rdi, rsi, rdx
*/
ENTRY(memset_std)
.macro MEMSET erms
PUSH_FRAME_POINTER
movq %rdi,%r9
movq %rdx,%rcx
movzbq %sil,%r8
movabs $0x0101010101010101,%rax
imulq %r8,%rax
cmpq $15,%rcx
jbe 1f
shrq $3,%rcx
rep
stosq
movq %rdx,%rcx
andq $7,%rcx
jne 1f
cmpq $32,%rcx
jb 1016f
cmpq $256,%rcx
ja 1256f
1032:
movq %rax,(%rdi)
movq %rax,8(%rdi)
movq %rax,16(%rdi)
movq %rax,24(%rdi)
leaq 32(%rdi),%rdi
subq $32,%rcx
cmpq $32,%rcx
jae 1032b
cmpb $0,%cl
je 1000f
1016:
cmpb $16,%cl
jl 1008f
movq %rax,(%rdi)
movq %rax,8(%rdi)
subb $16,%cl
jz 1000f
leaq 16(%rdi),%rdi
1008:
cmpb $8,%cl
jl 1004f
movq %rax,(%rdi)
subb $8,%cl
jz 1000f
leaq 8(%rdi),%rdi
1004:
cmpb $4,%cl
jl 1002f
movl %eax,(%rdi)
subb $4,%cl
jz 1000f
leaq 4(%rdi),%rdi
1002:
cmpb $2,%cl
jl 1001f
movw %ax,(%rdi)
subb $2,%cl
jz 1000f
leaq 2(%rdi),%rdi
1001:
cmpb $1,%cl
jl 1000f
movb %al,(%rdi)
1000:
movq %r9,%rax
POP_FRAME_POINTER
ret
ALIGN_TEXT
1:
1256:
.if \erms == 1
rep
stosb
.else
shrq $3,%rcx
rep
stosq
movq %rdx,%rcx
andb $7,%cl
jne 1004b
.endif
movq %r9,%rax
POP_FRAME_POINTER
ret
.endm
ENTRY(memset_std)
MEMSET erms=0
END(memset_std)
ENTRY(memset_erms)
PUSH_FRAME_POINTER
movq %rdi,%r9
movq %rdx,%rcx
movb %sil,%al
rep
stosb
movq %r9,%rax
POP_FRAME_POINTER
ret
MEMSET erms=1
END(memset_erms)
/* fillw(pat, base, cnt) */

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd April 30, 2006
.Dd October 6, 2018
.Dt NSCD.CONF 5
.Os
.Sh NAME
@ -153,6 +153,3 @@ symbol at the beginning of the line for comments.
.Xr nscd 8
.Sh AUTHORS
.An Michael Bushkov Aq Mt bushman@FreeBSD.org
.Sh BUGS
Please send bug reports and suggestions to
.Aq Mt bushman@FreeBSD.org .