From owner-freebsd-current@FreeBSD.ORG Sat Mar 28 16:24:29 2015 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 864A7601; Sat, 28 Mar 2015 16:24:29 +0000 (UTC) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cloud.theravensnest.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D5AF7D0; Sat, 28 Mar 2015 16:24:29 +0000 (UTC) Received: from [192.168.0.7] (cpc16-cmbg15-2-0-cust60.5-4.cable.virginm.net [86.5.162.61]) (authenticated bits=0) by theravensnest.org (8.15.1/8.14.9) with ESMTPSA id t2SGNf9O065566 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 28 Mar 2015 16:24:21 GMT (envelope-from theraven@FreeBSD.org) X-Authentication-Warning: theravensnest.org: Host cpc16-cmbg15-2-0-cust60.5-4.cable.virginm.net [86.5.162.61] claimed to be [192.168.0.7] Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Subject: Re: SSE in libthr From: David Chisnall In-Reply-To: <5516B280.6060002@freebsd.org> Date: Sat, 28 Mar 2015 15:21:07 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: References: <5515AED9.8040408@FreeBSD.org> <3A96AAEC-9C1C-444E-9A73-3CD2AED33116@me.com> <20150327214452.GR2379@kib.kiev.ua> <5516B280.6060002@freebsd.org> To: Julian Elischer X-Mailer: Apple Mail (2.2070.6) Cc: freebsd-current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Mar 2015 16:24:29 -0000 On 28 Mar 2015, at 13:54, Julian Elischer wrote: >=20 > the point is that clang will do this anywhere it can, because it isn't = taking into account the > side effects, just the speed of the commands themselves. This is also something that is not going to decrease. Clang now enables = the SLP vectoriser by default and this code is constantly being = improved. Current generation vector units are explicitly designed as = targets for compiler autovectorisation, not for hand-tuned DSP code = (which, increasingly, runs on the GPU anyway). This means that we're = increasingly going to see SSE/AVX/NEON usage in CPU-bound code, even = without an explicit programmer decision to do so. Optimising for the = case when the vector unit is not used is about as sensible as optimising = for the single-core case: it will affect some people, but generally not = those who care about performance, and a decreasing number of people over = time. David