@@ -74,7 +74,6 @@ x386_dynarec_log(const char *fmt, ...)
74
74
# define x386_dynarec_log (fmt , ...)
75
75
#endif
76
76
77
- /* Deliberately stashed here; this function is only relevant for dynamic recompilers. */
78
77
#if defined(_MSC_VER ) && !defined(__clang__ )
79
78
# if defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86
80
79
# define X87_INLINE_ASM
@@ -85,40 +84,6 @@ x386_dynarec_log(const char *fmt, ...)
85
84
# endif
86
85
#endif
87
86
88
- #ifdef USE_NEW_DYNAREC
89
- void
90
- x87_to_mmxreg (uint16_t reg )
91
- #else
92
- void
93
- x87_to_mmxreg (void )
94
- #endif
95
- {
96
- #ifndef USE_NEW_DYNAREC
97
- uint32_t reg = cpu_state .TOP & 7 ;
98
- #endif
99
- double val = cpu_state .ST [reg & 7 ];
100
- #ifdef X87_INLINE_ASM
101
- unsigned char buffer [10 ];
102
- #else
103
- x87_conv_t test ;
104
- #endif
105
-
106
- #ifdef X87_INLINE_ASM
107
- __asm volatile (""
108
- :
109
- :
110
- : "memory" );
111
-
112
- __asm volatile ("fldl %1\n"
113
- "fstpt %0\n" : "=m" (buffer ) : "m" (val ));
114
-
115
- cpu_state .MM [reg & 7 ].q = (* (uint64_t * )buffer );
116
- #else
117
- x87_to80 (val , & test );
118
- cpu_state .MM [reg & 7 ].q = test .eind .ll ;
119
- #endif
120
- }
121
-
122
87
static __inline void
123
88
fetch_ea_32_long (uint32_t rmdat )
124
89
{
@@ -278,6 +243,41 @@ fetch_ea_16_long(uint32_t rmdat)
278
243
# define CACHE_ON () (!(cr0 & (1 << 30)) && !(cpu_state.flags & T_FLAG))
279
244
#endif
280
245
246
+ /* Deliberately stashed here; this function is only relevant for dynamic recompilers. */
247
+ #ifdef USE_NEW_DYNAREC
248
+ void
249
+ x87_to_mmxreg (uint16_t reg )
250
+ #else
251
+ void
252
+ x87_to_mmxreg (void )
253
+ #endif
254
+ {
255
+ #ifndef USE_NEW_DYNAREC
256
+ uint32_t reg = cpu_state .TOP & 7 ;
257
+ #endif
258
+ double val = cpu_state .ST [reg & 7 ];
259
+ #ifdef X87_INLINE_ASM
260
+ unsigned char buffer [10 ];
261
+ #else
262
+ x87_conv_t test ;
263
+ #endif
264
+
265
+ #ifdef X87_INLINE_ASM
266
+ __asm volatile (""
267
+ :
268
+ :
269
+ : "memory" );
270
+
271
+ __asm volatile ("fldl %1\n"
272
+ "fstpt %0\n" : "=m" (buffer ) : "m" (val ));
273
+
274
+ cpu_state .MM [reg & 7 ].q = (* (uint64_t * )buffer );
275
+ #else
276
+ x87_to80 (val , & test );
277
+ cpu_state .MM [reg & 7 ].q = test .eind .ll ;
278
+ #endif
279
+ }
280
+
281
281
#ifdef USE_DYNAREC
282
282
int32_t cycles_main = 0 ;
283
283
static int32_t cycles_old = 0 ;
0 commit comments