diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-08 19:51:29 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-08 19:51:29 +0000 |
commit | a35f3ec76be8e0a5424349831127e538c6b91ef5 (patch) | |
tree | 0aa55bbc1484e75b39df5f307d2c0b0b7403f296 /target-i386/cpu.h | |
parent | 34c6f05032edb8c095426e0308b4a131a9265b44 (diff) |
3DNow! instruction set emulation
(Michael Tross)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4180 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/cpu.h')
-rw-r--r-- | target-i386/cpu.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/target-i386/cpu.h b/target-i386/cpu.h index 819db7037b..1c49b3691b 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -428,8 +428,9 @@ typedef union { typedef union { uint8_t _b[8]; - uint16_t _w[2]; - uint32_t _l[1]; + uint16_t _w[4]; + uint32_t _l[2]; + float32 _s[2]; uint64_t q; } MMXReg; @@ -444,6 +445,7 @@ typedef union { #define MMX_B(n) _b[7 - (n)] #define MMX_W(n) _w[3 - (n)] #define MMX_L(n) _l[1 - (n)] +#define MMX_S(n) _s[1 - (n)] #else #define XMM_B(n) _b[n] #define XMM_W(n) _w[n] @@ -455,6 +457,7 @@ typedef union { #define MMX_B(n) _b[n] #define MMX_W(n) _w[n] #define MMX_L(n) _l[n] +#define MMX_S(n) _s[n] #endif #define MMX_Q(n) q @@ -520,6 +523,7 @@ typedef struct CPUX86State { int64_t i64; } fp_convert; + float_status mmx_status; /* for 3DNow! float ops */ float_status sse_status; uint32_t mxcsr; XMMReg xmm_regs[CPU_NB_REGS]; |