From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1M9w0M-0004uM-Fj for garchives@archives.gentoo.org; Fri, 29 May 2009 06:55:50 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 55D8CE04F2; Fri, 29 May 2009 06:55:49 +0000 (UTC) Received: from mail-ew0-f213.google.com (mail-ew0-f213.google.com [209.85.219.213]) by pigeon.gentoo.org (Postfix) with ESMTP id 00BE2E04F2 for ; Fri, 29 May 2009 06:55:48 +0000 (UTC) Received: by ewy9 with SMTP id 9so5547616ewy.34 for ; Thu, 28 May 2009 23:55:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:date :user-agent:references:in-reply-to:mime-version:content-type :content-transfer-encoding:message-id; bh=jVfAFlXIo6whswZA3Kc4S+aVoLTRxSta9grAwDoVJxs=; b=ednLZnrIDhC25LEpqlXEUnWsqEqREA64p+WGTi/5J+DYNYWb1Jb8jfV3FnIamfz5N4 NmwAbdrNF7Jlqq3LeG8bQ0RilJenE4RxY+MEsiAn/qmj+nbLLiGGcr8YDaoA8lwyrtEd +W9I3+2oP7I1wuarI++5I/oOQK4deQ6rBY2cM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:to:subject:date:user-agent:references:in-reply-to:mime-version :content-type:content-transfer-encoding:message-id; b=wziEavboBsKjzlX7sKOOKRcRZU4QiqgFXxpN+ukw6ja0J3ekDaarRTAdfs4VME6yjJ qjYVRXWwfr3mLvZYgMu3RtQPTw8wWpSOnFG1rnYVY/ADZb4pWiK+9h6Nb9EAxyaOzbaW qLR4Gq30xoEdkKeHMz9a6lFdvtOhAi40w1YFQ= Received: by 10.210.29.9 with SMTP id c9mr2034518ebc.13.1243580148431; Thu, 28 May 2009 23:55:48 -0700 (PDT) Received: from energy.localnet (energy.heim10.tu-clausthal.de [139.174.197.94]) by mx.google.com with ESMTPS id 23sm1289721ewy.20.2009.05.28.23.55.47 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 28 May 2009 23:55:47 -0700 (PDT) From: Volker Armin Hemmann To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] USE="mmx mmxext sse sse2 ssse3 3dnow 3dnowext" Date: Fri, 29 May 2009 08:55:46 +0200 User-Agent: KMail/1.11.90 (Linux/2.6.29.4r4; KDE/4.2.87; x86_64; ; ) References: <4E38BD16-0410-4A31-839C-290364A8D735@stellar.eclipse.co.uk> <047506CD-647D-472E-A96B-96C278C31F51@stellar.eclipse.co.uk> <871vq85vcf.fsf@newton.gmurray.org.uk> In-Reply-To: <871vq85vcf.fsf@newton.gmurray.org.uk> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200905290855.46136.volkerarmin@googlemail.com> X-Archives-Salt: 328b969f-dec6-4d25-888c-a5f34c6bfa8e X-Archives-Hash: 4dc12b3128d963a081ddd6fdd82ccb22 On Freitag 29 Mai 2009, Graham Murray wrote: > Stroller writes: > > But, surely "-march=" also instructs gcc to support the additional > > instructions. Suggest you re-read Daniel's post that I was replying > > to. > > > > What's the difference between supporting the "certain set of > > instructions" with "-march=" and doing so with USEs? > > > > Or doesn't "-march=" support additional "certain sets of > > instructions". What does it do, then? > > I am not sure, > > $ gcc -Q --help=target -march=core2 > The following options are target specific: > -m128bit-long-double [disabled] > -m32 [enabled] > -m3dnow [disabled] > -m3dnowa [disabled] > -m64 [disabled] > -m80387 [enabled] > -m96bit-long-double [enabled] > -mabm [disabled] > -maccumulate-outgoing-args [disabled] > -maes [disabled] > -malign-double [disabled] > -malign-functions= > -malign-jumps= > -malign-loops= > -malign-stringops [enabled] > -march= core2 > -masm= > -mavx [disabled] > -mbranch-cost= > -mcld [disabled] > -mcmodel= > -mcx16 [disabled] > -mfancy-math-387 [enabled] > -mfma [disabled] > -mforce-drap [disabled] > -mfp-ret-in-387 [enabled] > -mfpmath= > -mfused-madd [enabled] > -mglibc [enabled] > -mhard-float [enabled] > -mieee-fp [enabled] > -mincoming-stack-boundary= > -minline-all-stringops [disabled] > -minline-stringops-dynamically [disabled] > -mintel-syntax [disabled] > -mlarge-data-threshold= > -mmmx [disabled] > -mms-bitfields [disabled] > -mno-align-stringops [disabled] > -mno-fancy-math-387 [disabled] > -mno-fused-madd [disabled] > -mno-push-args [disabled] > -mno-red-zone [disabled] > -mno-sse4 [enabled] > -momit-leaf-frame-pointer [disabled] > -mpc > -mpclmul [disabled] > -mpopcnt [disabled] > -mpreferred-stack-boundary= > -mpush-args [enabled] > -mrecip [disabled] > -mred-zone [enabled] > -mregparm= > -mrtd [disabled] > -msahf [disabled] > -msoft-float [disabled] > -msse [disabled] > -msse2 [disabled] > -msse2avx [disabled] > -msse3 [disabled] > -msse4 [disabled] > -msse4.1 [disabled] > -msse4.2 [disabled] > -msse4a [disabled] > -msse5 [disabled] > -msseregparm [disabled] > -mssse3 [disabled] > -mstack-arg-probe [disabled] > -mstackrealign [enabled] > -mstringop-strategy= > -mtls-dialect= > -mtls-direct-seg-refs [enabled] > -mtune= > -muclibc [disabled] > -mveclibabi= get this: dev.gentoo.org/~dirtyepic/bin/analyze-x86 and let it run, for example: /analyze-x86 /bin/gzip Checking vendor_id string... AuthenticAMD 64 Disassembling /bin/gzip, please wait... i486: 0 i586: 0 ppro: 36 mmx: 46 3dnow: 0 ext3dnow: 0 sse: 0 sse2: 4 sse3: 0 /bin/gzip will run on AMD Athlon64 or higher processor. or this: /analyze-x86 /bin/bash Checking vendor_id string... AuthenticAMD 64 Disassembling /bin/bash, please wait... i486: 0 i586: 0 ppro: 369 mmx: 876 3dnow: 0 ext3dnow: 0 sse: 120 sse2: 0 sse3: 0 /bin/bash will run on Pentium III (pentium3) or higher processor. and march=k8-sse3 -msse3 -O2 -pipe were my flags. Seems that a lot of stuff got turned on ;) mplayer is even more 'interessting': ./analyze-x86 /usr/bin/mplayer Checking vendor_id string... AuthenticAMD 64 Disassembling /usr/bin/mplayer, please wait... i486: 3948 i586: 14 ppro: 7573 mmx: 164986 3dnow: 5331 ext3dnow: 768 sse: 31407 sse2: 27712 sse3: 51 This binary was found to contain the cpuid instruction. It may be able to conditionally execute instructions if they are supported on the host (i586+). /usr/bin/mplayer will run on AMD Athlon64 w/ SSE3 or higher processor.