Mercurial > mplayer.hg
annotate mp3lib/dct36_k7.c @ 32436:9beacce2d2b5
Fix detection of mips processor variants.
patch by Graham Gower, graham.gower gmail com
author | diego |
---|---|
date | Thu, 21 Oct 2010 12:58:21 +0000 |
parents | 7c7885350d89 |
children |
rev | line source |
---|---|
10322
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
1 /* |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
2 * dct36_k7.c - 3DNowEx(DSP)! optimized dct36() |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
3 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
4 * This code based 'dct36_3dnow.s' by Syuuhei Kashiyama |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
5 * <squash@mb.kcom.ne.jp>, only two types of changes have been made: |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
6 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
7 * - added new opcode PSWAPD |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
8 * - removed PREFETCH instruction for speedup |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
9 * - changed function name for support 3DNowEx! automatic detection |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
10 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
11 * note: because K7 processors are an aggresive out-of-order three-way |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
12 * superscalar ones instruction order is not significand for them. |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
13 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
14 * You can find Kashiyama's original 3dnow! support patch |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
15 * (for mpg123-0.59o) at |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
16 * http://user.ecc.u-tokyo.ac.jp/~g810370/linux-simd/ (Japanese). |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
17 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
18 * by KIMURA Takuhiro <kim@hannah.ipc.miyakyo-u.ac.jp> - until 31.Mar.1999 |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
19 * <kim@comtec.co.jp> - after 1.Apr.1999 |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
20 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
21 * Original disclaimer: |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
22 * The author of this program disclaim whole expressed or implied |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
23 * warranties with regard to this program, and in no event shall the |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
24 * author of this program liable to whatever resulted from the use of |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
25 * this program. Use it at your own risk. |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
26 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
27 * Modified by Nick Kurshev <nickols_k@mail.ru> |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
28 * |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
29 * 2003/06/21: Moved to GCC inline assembly - Alex Beregszaszi |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
30 */ |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
31 |
25325
7c7885350d89
Identifiers starting with __ are reserved for the system.
diego
parents:
10322
diff
changeset
|
32 #define DCT36_OPTIMIZE_FOR_K7 |
10322
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
33 |
9163bdb578a6
moved 3dnow and 3dnowex dct36 optimisations into gcc inline assembly
alex
parents:
diff
changeset
|
34 #include "dct36_3dnow.c" |