annotate ppc/asm.S @ 12046:ae57be2ef58c libavcodec

PPC: Altivec split-radix FFT 1.8x faster than altivec radix-2 on a G4 8% faster vorbis decoding Patch (mostly) by Loren Merritt
author mru
date Thu, 01 Jul 2010 23:21:39 +0000
parents f399ea693f46
children 1532477cc30f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12045
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
1 /*
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
2 * Copyright (c) 2009 Loren Merritt
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
3 *
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
4 * This file is part of FFmpeg.
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
5 *
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
10 *
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
14 * Lesser General Public License for more details.
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
15 *
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
19 */
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
20
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
21 #include "config.h"
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
22
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
23 #if HAVE_IBM_ASM
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
24
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
25 .macro DEFINE_REG n
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
26 .equiv r\n, \n
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
27 .equiv f\n, \n
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
28 .equiv v\n, \n
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
29 .endm
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
30
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
31 DEFINE_REG 0
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
32 DEFINE_REG 1
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
33 DEFINE_REG 2
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
34 DEFINE_REG 3
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
35 DEFINE_REG 4
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
36 DEFINE_REG 5
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
37 DEFINE_REG 6
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
38 DEFINE_REG 7
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
39 DEFINE_REG 8
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
40 DEFINE_REG 9
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
41 DEFINE_REG 10
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
42 DEFINE_REG 11
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
43 DEFINE_REG 12
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
44 DEFINE_REG 13
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
45 DEFINE_REG 14
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
46 DEFINE_REG 15
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
47 DEFINE_REG 16
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
48 DEFINE_REG 17
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
49 DEFINE_REG 18
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
50 DEFINE_REG 19
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
51 DEFINE_REG 20
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
52 DEFINE_REG 21
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
53 DEFINE_REG 22
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
54 DEFINE_REG 23
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
55 DEFINE_REG 24
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
56 DEFINE_REG 25
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
57 DEFINE_REG 26
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
58 DEFINE_REG 27
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
59 DEFINE_REG 28
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
60 DEFINE_REG 29
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
61 DEFINE_REG 30
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
62 DEFINE_REG 31
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
63
f399ea693f46 Check whether IBM or Apple PPC assembler syntax is used
mru
parents:
diff changeset
64 #endif /* HAVE_IBM_ASM */