|
Packit |
c32a2d |
************************************************************************
|
|
Packit |
c32a2d |
* 3DNow! support by KIMURA Takuhiro <kim@hannah.ipc.miyakyo-u.ac.jp> *
|
|
Packit |
c32a2d |
* <kim@comtec.co.jp> *
|
|
Packit |
c32a2d |
* (http://hannah.ipc.miyakyo-u.ac.jp/kim/) *
|
|
Packit |
c32a2d |
* Syuuhei Kashiyama <squash@mb.kcom.ne.jp> *
|
|
Packit |
c32a2d |
* (http://user.ecc.u-tokyo.ac.jp/~g810370/)*
|
|
Packit |
c32a2d |
************************************************************************
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
-----------------------------
|
|
Packit |
c32a2d |
What's new in patch for 0.59r
|
|
Packit |
c32a2d |
-----------------------------
|
|
Packit |
c32a2d |
- 3DNow! optimized decode routine (decode_3dnow.s,dct36_3dnow.s ;
|
|
Packit |
c32a2d |
these code based Syuuhei Kashiyama's 3DNow! patch for mpg123-0.59o)
|
|
Packit |
c32a2d |
- 3DNow! optimized equalizer (equalizer_3dnow.s ; do_equalizer() only)
|
|
Packit |
c32a2d |
- target "linux-3dnow-alsa" "linux-3dnow-esd" added (untested)
|
|
Packit |
c32a2d |
- automatic detect 3DNow! support CPU from CPUFLAGS (getcpuflags.s)
|
|
Packit |
c32a2d |
(i.e. use floating-pointer decode routine if your CPU isn't support
|
|
Packit |
c32a2d |
3DNow! or MMX instructions)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
-------------
|
|
Packit |
c32a2d |
Added options
|
|
Packit |
c32a2d |
-------------
|
|
Packit |
c32a2d |
"--test-3dnow" : display result of autodetect and exit
|
|
Packit |
c32a2d |
"--force-3dnow" : force use of 3DNow! optimized decoder
|
|
Packit |
c32a2d |
(it will cause SIGILL if your CPU isn't support 3DNow! or MMX
|
|
Packit |
c32a2d |
instructions)
|
|
Packit |
c32a2d |
"--no-3dnow" : force use of floating-pointer decoder
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
How to make
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
[1] To make 3DNow! optimized mpg123,you need binutils-2.9.1.0.15 or later.
|
|
Packit |
c32a2d |
You can find the most recent binutils (2.9.1.0.25 until 23.Jun.1999) at
|
|
Packit |
c32a2d |
- kernel.org (and mirrors) : /pub/linux/devel/gcc/
|
|
Packit |
c32a2d |
- http://hannah.ipc.miyakyo-u.ac.jp/kim/Linux/binutils/
|
|
Packit |
c32a2d |
(Takuhiro's local copy)
|
|
Packit |
c32a2d |
etc.
|
|
Packit |
c32a2d |
[2] Type "make linux-3dnow" (OSS)
|
|
Packit |
c32a2d |
or "make linux-3dnow-alsa" (ALSA).
|
|
Packit |
c32a2d |
[3] Enjoy!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
------------------
|
|
Packit |
c32a2d |
Precompiled binary
|
|
Packit |
c32a2d |
------------------
|
|
Packit |
c32a2d |
You can get precompiled binary of mpg123 (with 3DNow! support) from
|
|
Packit |
c32a2d |
http://hannah.ipc.miyakyo-u.ac.jp/kim/Linux/mpg123/
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
----------
|
|
Packit |
c32a2d |
References
|
|
Packit |
c32a2d |
----------
|
|
Packit |
c32a2d |
Useful sources of information on optimizing 3DNow! code include:
|
|
Packit |
c32a2d |
- AMD 3DNow! Technology Manual (Publication #21928)
|
|
Packit |
c32a2d |
English: http://www.amd.com/K6/k6docs/pdf/21928d.pdf
|
|
Packit |
c32a2d |
(Japanese: http://www.amd.com/japan/K6/k6docs/j21928c.pdf)
|
|
Packit |
c32a2d |
- AMD-K6-2 Processor Code Optimization Application Note (Publication #21924)
|
|
Packit |
c32a2d |
English: http://www.amd.com/K6/k6docs/pdf/21924b.pdf
|