From: Aurelien Jarno Date: Wed, 13 Apr 2011 22:49:29 +0000 (+0200) Subject: target-i386: use float unions from cpu-all.h X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c41372230e441cb28dcf246d5f2a3226830156bd;p=qmiga%2Fqemu.git 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 Signed-off-by: Aurelien Jarno --- 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