From owner-freebsd-toolchain@FreeBSD.ORG Sat Aug 24 10:05:25 2013 Return-Path: Delivered-To: toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 8817259A; Sat, 24 Aug 2013 10:05:25 +0000 (UTC) (envelope-from theraven@freebsd.org) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 50345258B; Sat, 24 Aug 2013 10:05:24 +0000 (UTC) Received: from [192.168.0.2] (cpc27-cmbg15-2-0-cust235.5-4.cable.virginmedia.com [86.27.188.236]) (authenticated bits=0) by theravensnest.org (8.14.5/8.14.5) with ESMTP id r7OA5KEV009048 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 24 Aug 2013 10:05:21 GMT (envelope-from theraven@freebsd.org) Content-Type: multipart/signed; boundary="Apple-Mail=_69A682A3-CBD1-4732-B617-BCAE64BAB327"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) Subject: Re: patch to add AES intrinsics to gcc From: David Chisnall In-Reply-To: <86032E72-A569-4946-B4F8-26F687067B31@bsdimp.com> Date: Sat, 24 Aug 2013 11:05:15 +0100 Message-Id: <1380949A-254A-4222-BEDE-0C23E16E4F67@freebsd.org> References: <20130822200902.GG94127@funkthat.com> <105E26EE-8471-49D3-AB57-FBE2779CF8D0@FreeBSD.org> <5CE4B5FA-9DA0-45E4-8D67-161E0829FE6B@FreeBSD.org> <5217DBAB.5030607@freebsd.org> <86032E72-A569-4946-B4F8-26F687067B31@bsdimp.com> To: Warner Losh X-Mailer: Apple Mail (2.1508) Cc: toolchain@freebsd.org, John-Mark Gurney , Alfred Perlstein , "re@FreeBSD.org Engineering Team" , current@freebsd.org X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Aug 2013 10:05:25 -0000 --Apple-Mail=_69A682A3-CBD1-4732-B617-BCAE64BAB327 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 On 23 Aug 2013, at 23:37, Warner Losh wrote: > I'd dispute the 'and surely it seems like it does' part of this. Non = x86 architectures will continue to use gcc because clang just isn't = ready at this time for them. Some are very close (arm), some are close = (powerpc64, mips*), some are no where near ready, or will never be ready = (sparc64, ia64). There's no coherent, documented plan for these absent = gcc at the moment. There are lots of pieces there, and those pieces will = form the basis of the solution (+handbook updates) for the removal of = gcc in 11, but we just aren't there yet. The plan, which has been discussed on mailing lists, on IRC, and at = DevSummits is for tier 2 ports to depend on an external toolchain. For = those vendors that are not prevented from using GPLv3 compilers, this = means that they will be able to take advantage of, for example, the = significant improvements to the MIPS and PowerPC back ends that gcc has = had over the last 6 years. For everyone else, it will mean installing a = compiler from ports. For now, tier 2 architectures will continue to build a toolchain from = the src tree and use that. By 11.0, gcc will be gone from the base = system and they will be required to use something external if they are = not supported by clang. Brooks has been working hard on making this = easy, and it is generally an improvement for cross-building embedded = systems as the cross-compile toolchain is no longer rebuilt every time = you change a file in the kernel, resulting in faster builds. It is also = easier to use toolchains provided by chip vendors, which is something = that MIPS and ARM vendors have been asking for for a very long time. =20 For x86 and ARMv6/7, Clang has been the default compiler for a long time = and gcc has been increasingly problematic (for example, our gcc does not = support ARM EABI, which will be the default in 10.0 for ARMv6 and later, = so if you want to build for a modern ARM chip then you need either clang = or a more recent gcc than we ship). Claiming that this is something = done at the expense of non-x86 architectures is highly misleading, as = improving ARM support is one of the driving factors behind the switch. If you are shipping a product that relies on gcc, then for the 10.x = timeframe, you are free to build and use the gcc from the base system, = and the tinderboxes will prevent any non-optional components from being = modified in such a way that they can't build with this gcc. In the 11.x = timeframe, architectures that aren't supported by clang will need an = external toolchain. =20 AMD, Intel, AMD, Oracle, ARM, and MIPS are all actively contributing to = LLVM and Clang, so the only platform that is unlikely to have an LLVM = back end in the 11.0 timeframe is IA64, and if you really care about = IA64 then Intel will happily sell you a compiler that does a much better = job than GCC of targeting this architecture. David --Apple-Mail=_69A682A3-CBD1-4732-B617-BCAE64BAB327 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.18 (Darwin) Comment: GPGTools - http://gpgtools.org iQIcBAEBAgAGBQJSGIVbAAoJEKx65DEEsqId0egQAMvbN7D098fi3SlVoIPiiQFA 28ZZuzTOTFqN/Oa8J91TmpQXBCF08D5S0zVYU1lTCzdvb8YpL++uTCvcaa3C5/19 xsSX0Z67JPq72PTIt3uWAjzDbYWAkZI8KugCQAxhlrI+eYFQ4MvqUPT084+FlzN6 3pRZ00npFz51DSME2/kJoTu50QkdAhACij1bcNcndGRns4Z0HgbNPGuIJnx0/Ix8 3ZuxiCOCrtvWCHQfrJWA51vroY+z6vHKpylX+IvFqyI6XJNI4lIViGD0r1fikkq7 DD33jL3qC7Yc6cJchJfmd8iURWJOztNn1rydukoFjXR86kmja4ekeG9JxIGiQidQ uGE4VPtTltUwv7d1UI+XTEQSLi02hqoVbW6oUHVp30Kw5uGaRKt9H9xtIz+3U+l9 gRiSBd8fxn2yhpqHTsGsQ2p5EYpKP0TOEIeWCmuA51V/dciUEwRG3dMF6goXoM42 yjoeWd9m234YDFRq1HPr/0RzuTMXb8YN3S+2IpBXOL8PRXZk6RyR0P8AncH62Bgs ld4P0Z5DkJ1R0DgnR4AYZAp04rfSWiCmVdvKXp+YFTlNfn484WVWKOUlQZCizCsb TDAVg4cEkV4bwsZguCmgwahyJ5LDxiLBZ3Ouph6dOSYK4TThtNhdYR3pAzIofSLV o+2fKlJOcZeiCK6CmDFt =09Fb -----END PGP SIGNATURE----- --Apple-Mail=_69A682A3-CBD1-4732-B617-BCAE64BAB327--