diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2011-04-14 00:49:29 +0200 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-04-17 20:32:14 +0200 |
commit | c41372230e441cb28dcf246d5f2a3226830156bd (patch) | |
tree | d8beb481ea144dd4ab4eacf6c4c4463fc5fd307a | |
parent | 1ffd41ee0c5b3409492d237201d50b78578064e5 (diff) |
target-i386: use float unions from cpu-all.h
Use float unions from cpu-all.h instead of redefining new (wrong for arm)
ones in target-i386. This also allows building cpu-exec.o with softfloat.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r-- | target-i386/exec.h | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/target-i386/exec.h b/target-i386/exec.h index 6f9f709d8a..63a23cd999 100644 --- a/target-i386/exec.h +++ b/target-i386/exec.h @@ -144,13 +144,7 @@ static inline void svm_check_intercept(uint32_t type) #ifdef USE_X86LDOUBLE /* only for x86 */ -typedef union { - long double d; - struct { - unsigned long long lower; - unsigned short upper; - } l; -} CPU86_LDoubleU; +typedef CPU_LDoubleU CPU86_LDoubleU; /* the following deal with x86 long double-precision numbers */ #define MAXEXPD 0x7fff @@ -162,24 +156,7 @@ typedef union { #else -/* NOTE: arm is horrible as double 32 bit words are stored in big endian ! */ -typedef union { - double d; -#if !defined(HOST_WORDS_BIGENDIAN) && !defined(__arm__) - struct { - uint32_t lower; - int32_t upper; - } l; -#else - struct { - int32_t upper; - uint32_t lower; - } l; -#endif -#ifndef __arm__ - int64_t ll; -#endif -} CPU86_LDoubleU; +typedef CPU_DoubleU CPU86_LDoubleU; /* the following deal with IEEE double-precision numbers */ #define MAXEXPD 0x7ff |