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 [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message