From owner-freebsd-current Thu Feb 27 13:51:28 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9E1CD37B401 for ; Thu, 27 Feb 2003 13:51:25 -0800 (PST) Received: from doninha.ip.pt (doninha.ip.pt [195.23.132.12]) by mx1.FreeBSD.org (Postfix) with SMTP id 085DF43F93 for ; Thu, 27 Feb 2003 13:51:24 -0800 (PST) (envelope-from qnuno@pt-quorum.com) Received: (qmail 32710 invoked from network); 27 Feb 2003 21:50:49 -0000 Received: from unknown (HELO sargo.ip.pt) (195.23.132.1) by doninha.ip.pt with SMTP; 27 Feb 2003 21:50:49 -0000 Received: (qmail 9130 invoked from network); 27 Feb 2003 21:50:46 -0000 Received: from unknown (HELO gw.tex.bogus) ([195.23.212.231]) (envelope-sender ) by sargo.ip.pt (qmail-ldap-1.03) with SMTP for ; 27 Feb 2003 21:50:46 -0000 Received: by gw.tex.bogus (Postfix, from userid 1001) id 2D43E4336; Thu, 27 Feb 2003 21:49:14 +0000 (WET) Date: Thu, 27 Feb 2003 21:49:13 +0000 From: Nuno Teixeira To: Bruce Cran Cc: current@freebsd.org Subject: Re: -O2 considered harmful Message-ID: <20030227214913.GA3517@gw.tex.bogus> References: <20030227025155.61529.qmail@web40310.mail.yahoo.com> <20030227083800.GA96372@fourtytwo.brucec.backnet> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030227083800.GA96372@fourtytwo.brucec.backnet> X-Operating-System: FreeBSD 5.0-RELEASE-p2 User-Agent: Mutt/1.5.3i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, Feb 27, 2003 at 08:38:00AM +0000, Bruce Cran wrote: > On Wed, Feb 26, 2003 at 06:51:55PM -0800, Rhett Monteg Hollander wrote: > > Nuno Teixeira wrote: > > > > > > Hi, > > > > > > Just a little question: > > > > > > Does -march=k6-2 implies -m3dnow? Or -march=pentiumpro implies -mmmx? > > Pentium Pro doesn't support MMX; -march=pentiumpro (aka -march=i686) enables > > compiling with main i686 instruction set, no MMX\SSE or whatever. > > > > > > > > I always thought that when I use -march it will enable other > > > porcessor specific optimizations like mmx and 3dnow (if available). > > No way. Besides, only a dozen of open-source UNIX applications can really > > profit from MMX, so it's absurd to use -mmmx for day-by-day use. To be correct, > > MMX is only useful for real-time video\audio processing. > > > > A little example: consider some 16-bit pixel set that you need to increase > > brightness, i.e. to add some value to every pixel. You can load a word into > > integer register, process, and store. You can also load a quadword of four > > 16-bit values into MMX register which is mapped onto FPU register, process them > > at once, and store. Indeed to be faster. > > > > Enabling MMX usually results in about 50% performance increase for true CISC > > processors like P-MMX, and about 20% for PII and up. > > > > I'm afraid you're wrong - the V2SI datatype and MMX functions automatically > become available after -march=pentium2, while with other processor types > you've got to explicitly add -mmmx. -msse is presumed with -march=pentium3 > and up. It's far from absurd to use mmx for everyday applications - sure, > only a few applications may take advantage of it, but I've seen code which > runs 40x faster when compiled for athlon-xp than for i386, and I would guess > that a lot of that is because of clever use of sse and mmx. That wasn't > an audio/video program, it was the libgmp arbitrary precision maths > package. Also, I'm sure > most people wouldn't say no to 50% more processing speed for free! > So, if you've got a pentium, k6 or pentiumpro which supports MMX, you _do_ > need to explicitly add -mmmx, but for other processors it's implied. > > Bruce Cran > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message Hi, I searched gcc docs and didn't found info for what you say here. I'm seeing a lots of people using e.g. athlon-xp with -mmmx and -m3dnow included. I'm confused about if this optimizations are implied or not by processores that supports it. Thanks very much, Nuno Teixeira -- /* PGP fingerprint: C6D1 06ED EB54 A99C 6B14 6732 0A5D 810D 727D F6C6 */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message