Imported Debian version 2.5.0~trusty1.1
[deb_ffmpeg.git] / ffmpeg / libavcodec / alpha / regdef.h
CommitLineData
2ba45a60
DM
1/*
2 * Alpha optimized DSP utils
3 * copyright (c) 2002 Falk Hueffner <falk@debian.org>
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22/* Some BSDs don't seem to have regdef.h... sigh */
23#ifndef AVCODEC_ALPHA_REGDEF_H
24#define AVCODEC_ALPHA_REGDEF_H
25
26#define v0 $0 /* function return value */
27
28#define t0 $1 /* temporary registers (caller-saved) */
29#define t1 $2
30#define t2 $3
31#define t3 $4
32#define t4 $5
33#define t5 $6
34#define t6 $7
35#define t7 $8
36
37#define s0 $9 /* saved-registers (callee-saved registers) */
38#define s1 $10
39#define s2 $11
40#define s3 $12
41#define s4 $13
42#define s5 $14
43#define s6 $15
44#define fp s6 /* frame-pointer (s6 in frame-less procedures) */
45
46#define a0 $16 /* argument registers (caller-saved) */
47#define a1 $17
48#define a2 $18
49#define a3 $19
50#define a4 $20
51#define a5 $21
52
53#define t8 $22 /* more temps (caller-saved) */
54#define t9 $23
55#define t10 $24
56#define t11 $25
57#define ra $26 /* return address register */
58#define t12 $27
59
60#define pv t12 /* procedure-variable register */
61#define AT $at /* assembler temporary */
62#define gp $29 /* global pointer */
63#define sp $30 /* stack pointer */
64#define zero $31 /* reads as zero, writes are noops */
65
66/* Some nicer register names. */
67#define ta t10
68#define tb t11
69#define tc t12
70#define td AT
71/* Danger: these overlap with the argument list and the return value */
72#define te a5
73#define tf a4
74#define tg a3
75#define th v0
76
77#endif /* AVCODEC_ALPHA_REGDEF_H */