diff options
author | Richard Henderson <rth@twiddle.net> | 2011-10-17 10:42:49 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2011-10-26 13:55:26 -0700 |
commit | 30038fd81808f7c3bca92be2369e74c8ca7b3d69 (patch) | |
tree | bf718259c3d5bcc3e4f8605dbe9828c739be345d /target-sparc/cpu.h | |
parent | 45c7b743cda3e87e528516ac1dd039d5932433a3 (diff) | |
download | qemu-30038fd81808f7c3bca92be2369e74c8ca7b3d69.zip qemu-30038fd81808f7c3bca92be2369e74c8ca7b3d69.tar.gz qemu-30038fd81808f7c3bca92be2369e74c8ca7b3d69.tar.bz2 |
target-sparc: Change fpr representation to doubles.
This allows a more efficient representation for 64-bit hosts.
It should be about the same for 32-bit hosts, as we can still
access the individual pieces of the double.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-sparc/cpu.h')
-rw-r--r-- | target-sparc/cpu.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h index 4eace33..38a7074 100644 --- a/target-sparc/cpu.h +++ b/target-sparc/cpu.h @@ -3,16 +3,17 @@ #include "config.h" #include "qemu-common.h" +#include "bswap.h" #if !defined(TARGET_SPARC64) #define TARGET_LONG_BITS 32 -#define TARGET_FPREGS 32 +#define TARGET_DPREGS 16 #define TARGET_PAGE_BITS 12 /* 4k */ #define TARGET_PHYS_ADDR_SPACE_BITS 36 #define TARGET_VIRT_ADDR_SPACE_BITS 32 #else #define TARGET_LONG_BITS 64 -#define TARGET_FPREGS 64 +#define TARGET_DPREGS 32 #define TARGET_PAGE_BITS 13 /* 8k */ #define TARGET_PHYS_ADDR_SPACE_BITS 41 # ifdef TARGET_ABI32 @@ -395,7 +396,7 @@ typedef struct CPUSPARCState { uint32_t psr; /* processor state register */ target_ulong fsr; /* FPU state register */ - float32 fpr[TARGET_FPREGS]; /* floating point registers */ + CPU_DoubleU fpr[TARGET_DPREGS]; /* floating point registers */ uint32_t cwp; /* index of current register window (extracted from PSR) */ #if !defined(TARGET_SPARC64) || defined(TARGET_ABI32) |