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