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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to