Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Aug 2016 06:07:44 +0000 (UTC)
From:      Bruce Evans <bde@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r304986 - head/sys/amd64/amd64
Message-ID:  <201608290607.u7T67ire065642@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608290607.u7T67ire065642>