#ifndef __ASM_LIBGCC_H | |
#define __ASM_LIBGCC_H | |
#include <asm/byteorder.h> | |
typedef int word_type __attribute__ ((mode (__word__))); | |
#ifdef __BIG_ENDIAN | |
struct DWstruct { | |
int high, low; | |
}; | |
#elif defined(__LITTLE_ENDIAN) | |
struct DWstruct { | |
int low, high; | |
}; | |
#else | |
#error I feel sick. | |
#endif | |
typedef union { | |
struct DWstruct s; | |
long long ll; | |
} DWunion; | |
extern long long __ashldi3(long long u, word_type b); | |
extern long long __ashrdi3(long long u, word_type b); | |
extern word_type __cmpdi2(long long a, long long b); | |
extern long long __lshrdi3(long long u, word_type b); | |
extern long long __muldi3(long long u, long long v); | |
extern word_type __ucmpdi2(unsigned long long a, unsigned long long b); | |
#endif /* __ASM_LIBGCC_H */ |