Blob Blame History Raw
************************************************************************
* 3DNow! support by KIMURA Takuhiro   <kim@hannah.ipc.miyakyo-u.ac.jp> *
*                                     <kim@comtec.co.jp>               *
*                             (http://hannah.ipc.miyakyo-u.ac.jp/kim/) *
*                   Syuuhei Kashiyama <squash@mb.kcom.ne.jp>           *
*                             (http://user.ecc.u-tokyo.ac.jp/~g810370/)*
************************************************************************

-----------------------------
What's new in patch for 0.59r
-----------------------------
- 3DNow! optimized decode routine (decode_3dnow.s,dct36_3dnow.s ;
  these code based Syuuhei Kashiyama's 3DNow! patch for mpg123-0.59o)
- 3DNow! optimized equalizer (equalizer_3dnow.s ; do_equalizer() only)
- target "linux-3dnow-alsa" "linux-3dnow-esd" added (untested)
- automatic detect 3DNow! support CPU from CPUFLAGS (getcpuflags.s)
  (i.e. use floating-pointer decode routine if your CPU isn't support
   3DNow! or MMX instructions)

-------------
Added options
-------------
"--test-3dnow"  : display result of autodetect and exit
"--force-3dnow" : force use of 3DNow! optimized decoder
 (it will cause SIGILL if your CPU isn't support 3DNow! or MMX
  instructions)
"--no-3dnow"    : force use of floating-pointer decoder

-----------
How to make
-----------
[1] To make 3DNow! optimized mpg123,you need binutils-2.9.1.0.15 or later.
 You can find the most recent binutils (2.9.1.0.25 until 23.Jun.1999) at
  - kernel.org (and mirrors) : /pub/linux/devel/gcc/
  - http://hannah.ipc.miyakyo-u.ac.jp/kim/Linux/binutils/
    (Takuhiro's local copy)
 etc.
[2] Type "make linux-3dnow" (OSS)
      or "make linux-3dnow-alsa" (ALSA).
[3] Enjoy!

------------------
Precompiled binary
------------------
You can get precompiled binary of mpg123 (with 3DNow! support) from
 http://hannah.ipc.miyakyo-u.ac.jp/kim/Linux/mpg123/

----------
References
----------
Useful sources of information on optimizing 3DNow! code include:
- AMD 3DNow! Technology Manual (Publication #21928)
     English:  http://www.amd.com/K6/k6docs/pdf/21928d.pdf
    (Japanese: http://www.amd.com/japan/K6/k6docs/j21928c.pdf)
- AMD-K6-2 Processor Code Optimization Application Note (Publication #21924)
     English:	http://www.amd.com/K6/k6docs/pdf/21924b.pdf