Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Dec 1999 08:35:50 +0100 (CET)
From:      Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
To:        freebsd-stable@FreeBSD.ORG
Subject:   Re: AMD 3DNow instructions on FreeBSD
Message-ID:  <199912210735.IAA26624@dorifer.heim3.tu-clausthal.de>

next in thread | raw e-mail | index | archive | help
Wilko Bulte wrote in list.freebsd-stable:
 > On Mon, Dec 20, 1999 at 07:36:31PM +0100, Oliver Fromme wrote:
 > [...]
 > > About 50%, that is, about 4.5 hours (instead of 9) on average
 > > per work unit, on an Athlon-500.  And I did only optimize the
 > > FFT and didn't touch the rest.  With a bit more effort, further
 > > improvements would be certainly possible.
 > 
 > Wow! Quite a difference. Not having an Athlon but
 > 
 > CPU: AMD-K6(tm) 3D processor (399.81-MHz 586-class CPU)
 >   Origin = "AuthenticAMD"  Id = 0x58c  Stepping = 12
 >   AMD Features=0x80000800<SYSCALL,3DNow!>
 > 
 > would that also make such a difference on the K6-2? Athlon has 
 > different 3Dnow I think ??

The difference would be somewhat smaller, but there would
certainly be a difference, too.

The Athlon supports the same 3DNow instruction as the K6
family, but it also supports some additional instructions
which are very useful.  If you're interested in the details,
I recommend the following documents:

  "AMD Athlon Processor x86 Code Optimization Guide" (22007)
  "3DNow Technology Manual" (21928)
  "MMX Enhanced Processor Multimedia Technology" (20726)
  "AMD Extensions to the 3DNow and MMX Instruction Sets" (22466)

The number in parentheses is the AMD document order number.
All of these documents can be order from AMD on CD-ROM.  They
can also be downloaded from AMD's web site at the following
URL in PDF format:

  http://www.amd.com/support/techdocdir.html

3DNow instructions work on floating point values, while MMX
instructions work on integer values.  However, 3DNow code uses
the same registers as MMX instructions, so it is common to
intermix them (for example, use MMX instructions to move values
into registers, then use 3DNow instructions for computation,
then use an MMX instruction to negate the result).

Regards
   Oliver

-- 
Oliver Fromme, Leibnizstr. 18/61, 38678 Clausthal, Germany
(Info: finger userinfo:olli@dorifer.heim3.tu-clausthal.de)

"In jedem Stück Kohle wartet ein Diamant auf seine Geburt"
                                         (Terry Pratchett)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912210735.IAA26624>