fpregdef.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Definitions for the FPU register names
  4. *
  5. * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
  6. */
  7. #ifndef _ASM_FPREGDEF_H
  8. #define _ASM_FPREGDEF_H
  9. #define fa0 $f0 /* argument registers, fa0/fa1 reused as fv0/fv1 for return value */
  10. #define fa1 $f1
  11. #define fa2 $f2
  12. #define fa3 $f3
  13. #define fa4 $f4
  14. #define fa5 $f5
  15. #define fa6 $f6
  16. #define fa7 $f7
  17. #define ft0 $f8 /* caller saved */
  18. #define ft1 $f9
  19. #define ft2 $f10
  20. #define ft3 $f11
  21. #define ft4 $f12
  22. #define ft5 $f13
  23. #define ft6 $f14
  24. #define ft7 $f15
  25. #define ft8 $f16
  26. #define ft9 $f17
  27. #define ft10 $f18
  28. #define ft11 $f19
  29. #define ft12 $f20
  30. #define ft13 $f21
  31. #define ft14 $f22
  32. #define ft15 $f23
  33. #define fs0 $f24 /* callee saved */
  34. #define fs1 $f25
  35. #define fs2 $f26
  36. #define fs3 $f27
  37. #define fs4 $f28
  38. #define fs5 $f29
  39. #define fs6 $f30
  40. #define fs7 $f31
  41. /*
  42. * Current binutils expects *GPRs* at FCSR position for the FCSR
  43. * operation instructions, so define aliases for those used.
  44. */
  45. #define fcsr0 $r0
  46. #define fcsr1 $r1
  47. #define fcsr2 $r2
  48. #define fcsr3 $r3
  49. #endif /* _ASM_FPREGDEF_H */