ARM FPU endianness fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1265 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
78573df6b2
commit
832ed0fa34
@ -114,18 +114,19 @@ static inline void tswap64s(uint64_t *s)
|
||||
#define tswapls(s) tswap64s((uint64_t *)(s))
|
||||
#endif
|
||||
|
||||
/* NOTE: arm is horrible as double 32 bit words are stored in big endian ! */
|
||||
/* NOTE: arm FPA is horrible as double 32 bit words are stored in big
|
||||
endian ! */
|
||||
typedef union {
|
||||
double d;
|
||||
#if !defined(WORDS_BIGENDIAN) && !defined(__arm__)
|
||||
#if defined(WORDS_BIGENDIAN) || (defined(__arm__) && !defined(__VFP_FP__))
|
||||
struct {
|
||||
uint32_t lower;
|
||||
uint32_t upper;
|
||||
uint32_t lower;
|
||||
} l;
|
||||
#else
|
||||
struct {
|
||||
uint32_t upper;
|
||||
uint32_t lower;
|
||||
uint32_t upper;
|
||||
} l;
|
||||
#endif
|
||||
uint64_t ll;
|
||||
|
Loading…
Reference in New Issue
Block a user