libgcc.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef __H8300_LIBGCC_H__
  2. #define __H8300_LIBGCC_H__
  3. #ifdef __ASSEMBLY__
  4. #define A0 r0
  5. #define A0L r0l
  6. #define A0H r0h
  7. #define A1 r1
  8. #define A1L r1l
  9. #define A1H r1h
  10. #define A2 r2
  11. #define A2L r2l
  12. #define A2H r2h
  13. #define A3 r3
  14. #define A3L r3l
  15. #define A3H r3h
  16. #define S0 r4
  17. #define S0L r4l
  18. #define S0H r4h
  19. #define S1 r5
  20. #define S1L r5l
  21. #define S1H r5h
  22. #define S2 r6
  23. #define S2L r6l
  24. #define S2H r6h
  25. #define PUSHP push.l
  26. #define POPP pop.l
  27. #define A0P er0
  28. #define A1P er1
  29. #define A2P er2
  30. #define A3P er3
  31. #define S0P er4
  32. #define S1P er5
  33. #define S2P er6
  34. #define A0E e0
  35. #define A1E e1
  36. #define A2E e2
  37. #define A3E e3
  38. #else
  39. #define Wtype SItype
  40. #define UWtype USItype
  41. #define HWtype SItype
  42. #define UHWtype USItype
  43. #define DWtype DItype
  44. #define UDWtype UDItype
  45. #define UWtype USItype
  46. #define Wtype SItype
  47. #define UWtype USItype
  48. #define W_TYPE_SIZE (4 * BITS_PER_UNIT)
  49. #define BITS_PER_UNIT (8)
  50. typedef int SItype __attribute__ ((mode (SI)));
  51. typedef unsigned int USItype __attribute__ ((mode (SI)));
  52. typedef int DItype __attribute__ ((mode (DI)));
  53. typedef unsigned int UDItype __attribute__ ((mode (DI)));
  54. struct DWstruct {
  55. Wtype high, low;
  56. };
  57. typedef union {
  58. struct DWstruct s;
  59. DWtype ll;
  60. } DWunion;
  61. typedef int word_type __attribute__ ((mode (__word__)));
  62. #endif
  63. #endif