Restore the nontemporal pagezero() under the name sse2_pagezero() (the

same name as for i386).  It is not reconnected yet.

Which method is better is too machine-dependent and system-dependent
to replace the old method unconditionally.
This commit is contained in:
Bruce Evans 2016-08-29 06:07:43 +00:00
parent fdda77284f
commit 537a47a1ba
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=304986

View File

@ -72,6 +72,24 @@ ENTRY(pagezero)
ret
END(pagezero)
/* Address: %rdi */
ENTRY(sse2_pagezero)
PUSH_FRAME_POINTER
movq $-PAGE_SIZE,%rdx
subq %rdx,%rdi
xorl %eax,%eax
1:
movnti %rax,(%rdi,%rdx)
movnti %rax,8(%rdi,%rdx)
movnti %rax,16(%rdi,%rdx)
movnti %rax,24(%rdi,%rdx)
addq $32,%rdx
jne 1b
sfence
POP_FRAME_POINTER
ret
END(pagezero)
ENTRY(bcmp)
PUSH_FRAME_POINTER
movq %rdx,%rcx