about summary refs log tree commit diff stats
path: root/src/include/regs.h
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-07 11:44:09 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-07 11:44:09 +0100
commit2a514f14c13c93c32b5ba01a5a3cae811e9f3e0e (patch)
treedd0e0f51100d8144fda9bb832bde9e8ff633e108 /src/include/regs.h
parent395d9eb6224841edf72d5494bf306cf1ff79915e (diff)
downloadbox64-2a514f14c13c93c32b5ba01a5a3cae811e9f3e0e.tar.gz
box64-2a514f14c13c93c32b5ba01a5a3cae811e9f3e0e.zip
Reworked FPU/MMX regs, added Context and Signal handling (and test13 works)
Diffstat (limited to 'src/include/regs.h')
-rwxr-xr-xsrc/include/regs.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/include/regs.h b/src/include/regs.h
index 84159d2b..f75624a0 100755
--- a/src/include/regs.h
+++ b/src/include/regs.h
@@ -127,19 +127,6 @@ typedef enum {
 #pragma pack(push, 1)
 
 typedef union {
-    double d;
-    struct {
-        uint32_t lower;
-        uint32_t upper;
-    } l;
-    struct {
-        float lower;
-        float upper;
-    } f;
-    int64_t ll;
-} fpu_reg_t;
-
-typedef union {
 	//long double ld;	// works only if 80bits!
 	struct {
 		uint64_t lower;
@@ -237,13 +224,15 @@ typedef union {
 typedef union {
 	uint64_t	q;
 	int64_t		sq;
+	double		d;
+	float		f[2];
 	uint32_t	ud[2];
 	int32_t 	sd[2];
 	uint16_t 	uw[4];
 	int16_t 	sw[4];
 	uint8_t 	ub[8];
 	int8_t 		sb[8];
-} mmx_regs_t;
+} mmx87_regs_t;
 
 typedef union {
 	uint64_t q[2];