svn commit: r304986 - head/sys/amd64/amd64
Bruce Evans
bde at FreeBSD.org
Mon Aug 29 06:07:45 UTC 2016
Author: bde
Date: Mon Aug 29 06:07:43 2016
New Revision: 304986
URL: https://svnweb.freebsd.org/changeset/base/304986
Log:
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.
Modified:
head/sys/amd64/amd64/support.S
Modified: head/sys/amd64/amd64/support.S
==============================================================================
--- head/sys/amd64/amd64/support.S Mon Aug 29 05:59:12 2016 (r304985)
+++ head/sys/amd64/amd64/support.S Mon Aug 29 06:07:43 2016 (r304986)
@@ -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
More information about the svn-src-head
mailing list