libgcc.h 724 B

123456789101112131415161718192021222324252627282930313233
  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. #elif defined(__LITTLE_ENDIAN)
  10. struct DWstruct {
  11. int low, high;
  12. };
  13. #else
  14. #error I feel sick.
  15. #endif
  16. typedef union {
  17. struct DWstruct s;
  18. long long ll;
  19. } DWunion;
  20. extern long long __ashldi3(long long u, word_type b);
  21. extern long long __ashrdi3(long long u, word_type b);
  22. extern word_type __cmpdi2(long long a, long long b);
  23. extern long long __lshrdi3(long long u, word_type b);
  24. extern long long __muldi3(long long u, long long v);
  25. extern word_type __ucmpdi2(unsigned long long a, unsigned long long b);
  26. #endif /* __ASM_LIBGCC_H */