regdef.h 1.0 KB

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