xref: /linux/arch/alpha/include/uapi/asm/regdef.h (revision 0e9ab8e4d44ae9d9aaf213bfd2c90bbe7289337b)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef __alpha_regdef_h__
3 #define __alpha_regdef_h__
4 
5 #define v0	$0	/* function return value */
6 
7 #define t0	$1	/* temporary registers (caller-saved) */
8 #define t1	$2
9 #define t2	$3
10 #define t3	$4
11 #define t4	$5
12 #define t5	$6
13 #define t6	$7
14 #define t7	$8
15 
16 #define	s0	$9	/* saved-registers (callee-saved registers) */
17 #define	s1	$10
18 #define	s2	$11
19 #define	s3	$12
20 #define	s4	$13
21 #define	s5	$14
22 #define	s6	$15
23 #define	fp	s6	/* frame-pointer (s6 in frame-less procedures) */
24 
25 #define a0	$16	/* argument registers (caller-saved) */
26 #define a1	$17
27 #define a2	$18
28 #define a3	$19
29 #define a4	$20
30 #define a5	$21
31 
32 #define t8	$22	/* more temps (caller-saved) */
33 #define t9	$23
34 #define t10	$24
35 #define t11	$25
36 #define ra	$26	/* return address register */
37 #define t12	$27
38 
39 #define pv	t12	/* procedure-variable register */
40 #define AT	$at	/* assembler temporary */
41 #define gp	$29	/* global pointer */
42 #define sp	$30	/* stack pointer */
43 #define zero	$31	/* reads as zero, writes are noops */
44 
45 #endif /* __alpha_regdef_h__ */
46