libgcc.h 643 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __ASM_LIBGCC_H
  2. #define __ASM_LIBGCC_H
  3. #include <asm/byteorder.h>
  4. typedef int word_type __attribute__ ((mode (__word__)));
  5. #ifdef __BIG_ENDIAN
  6. struct DWstruct {
  7. int high, low;
  8. };
  9. struct TWstruct {
  10. long long high, low;
  11. };
  12. #elif defined(__LITTLE_ENDIAN)
  13. struct DWstruct {
  14. int low, high;
  15. };
  16. struct TWstruct {
  17. long long low, high;
  18. };
  19. #else
  20. #error I feel sick.
  21. #endif
  22. typedef union {
  23. struct DWstruct s;
  24. long long ll;
  25. } DWunion;
  26. #if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6)
  27. typedef int ti_type __attribute__((mode(TI)));
  28. typedef union {
  29. struct TWstruct s;
  30. ti_type ti;
  31. } TWunion;
  32. #endif
  33. #endif /* __ASM_LIBGCC_H */