From owner-freebsd-arch@FreeBSD.ORG Wed Jan 17 20:09:24 2007 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8D05516A415; Wed, 17 Jan 2007 20:09:24 +0000 (UTC) (envelope-from ivoras@fer.hr) Received: from ls405.t-com.hr (ls405.t-com.hr [195.29.150.135]) by mx1.freebsd.org (Postfix) with ESMTP id 0F9C413C428; Wed, 17 Jan 2007 20:09:23 +0000 (UTC) (envelope-from ivoras@fer.hr) Received: from ls242.t-com.hr (ls242.t-com.hr [195.29.150.134]) by ls405.t-com.hr (Postfix) with ESMTP id 0730C143C02; Wed, 17 Jan 2007 20:37:52 +0100 (CET) Received: from ls242.t-com.hr (localhost.localdomain [127.0.0.1]) by ls242.t-com.hr (Qmlai) with ESMTP id E272410F805F; Wed, 17 Jan 2007 20:37:51 +0100 (CET) Received: from ls242.t-com.hr (localhost.localdomain [127.0.0.1]) by ls242.t-com.hr (Qmlai) with ESMTP id C847310F803E; Wed, 17 Jan 2007 20:37:51 +0100 (CET) X-Envelope-Sender-Info: qNMqIwJL6pMxrLsv6Bv6Q4WPdw3S56b2lZWSpOFx2GhM9iIFzLoPeE8q5w/auABt X-Envelope-Sender: ivoras@fer.hr Received: from [10.0.0.101] (89-172-39-6.adsl.net.t-com.hr [89.172.39.6]) by ls242.t-com.hr (Qmali) with ESMTP id 7F25B6C0036; Wed, 17 Jan 2007 20:37:51 +0100 (CET) Message-ID: <45AE7BF8.10703@fer.hr> Date: Wed, 17 Jan 2007 20:41:44 +0100 From: Ivan Voras User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: Bruce Evans References: <3bbf2fe10607250813w8ff9e34pc505bf290e71758@mail.gmail.com> <3bbf2fe10607251004wf94e238xb5ea7a31c973817f@mail.gmail.com> <3bbf2fe10607261127p3f01a6c3w80027754f7d4e594@mail.gmail.com> <3bbf2fe10607281004o6727e976h19ee7e054876f914@mail.gmail.com> <3bbf2fe10701160851r79b04464m2cbdbb7f644b22b6@mail.gmail.com> <20070116154258.568e1aaf@pleiades.nextvenue.com> <20070117134022.V18339@besplex.bde.org> <20070117224812.Q23194@besplex.bde.org> In-Reply-To: <20070117224812.Q23194@besplex.bde.org> X-Enigmail-Version: 0.94.1.2 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig238686BF5CDEB8B50F4252DA" Cc: freebsd-current@freebsd.org, freebsd-arch@freebsd.org Subject: Optimized copy&move (was: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jan 2007 20:09:24 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig238686BF5CDEB8B50F4252DA Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Bruce Evans wrote: > And MMX/XMM registers ar not needed to get movnt on machines with SSE2,= > since movnti is part of SSE2. This reduces the advantages of using MMX= /XMM > registers on P4's and A64's in 32-bit mode to the non-nt parts of the > above (fully cached case), which I think are less important than the nt= > parts. Hmm, I'm looking at i386/i386/support.s and there are several versions of bcopy and bmove functions, including some that optimize by using FPU registers (large_i586_bcopy_loop), and a version that uses movnti (sse2_pagezero), but I can't find the bit of magic which glues them to bzero() call. Also, as as I can tell by the comments, the FPU version works by manually saving context... why is this possible (i.e. won't something preempt it?) --------------enig238686BF5CDEB8B50F4252DA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFrnv5ldnAQVacBcgRAiR4AKCDQ6LnV8f1easSMto1WjFvD74GPgCfdciE 08MOyCrxIQhroC5tgvhqJo0= =7h/R -----END PGP SIGNATURE----- --------------enig238686BF5CDEB8B50F4252DA--