Fix compile on ARM64
This commit is contained in:
@@ -74,7 +74,6 @@ x386_dynarec_log(const char *fmt, ...)
|
|||||||
# define x386_dynarec_log(fmt, ...)
|
# define x386_dynarec_log(fmt, ...)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Deliberately stashed here; this function is only relevant for dynamic recompilers. */
|
|
||||||
#if defined(_MSC_VER) && !defined(__clang__)
|
#if defined(_MSC_VER) && !defined(__clang__)
|
||||||
# if defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86
|
# if defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86
|
||||||
# define X87_INLINE_ASM
|
# define X87_INLINE_ASM
|
||||||
@@ -85,40 +84,6 @@ x386_dynarec_log(const char *fmt, ...)
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_NEW_DYNAREC
|
|
||||||
void
|
|
||||||
x87_to_mmxreg(uint16_t reg)
|
|
||||||
#else
|
|
||||||
void
|
|
||||||
x87_to_mmxreg(void)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
#ifndef USE_NEW_DYNAREC
|
|
||||||
uint32_t reg = cpu_state.TOP & 7;
|
|
||||||
#endif
|
|
||||||
double val = cpu_state.ST[reg & 7];
|
|
||||||
#ifdef X87_INLINE_ASM
|
|
||||||
unsigned char buffer[10];
|
|
||||||
#else
|
|
||||||
x87_conv_t test;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef X87_INLINE_ASM
|
|
||||||
__asm volatile(""
|
|
||||||
:
|
|
||||||
:
|
|
||||||
: "memory");
|
|
||||||
|
|
||||||
__asm volatile("fldl %1\n"
|
|
||||||
"fstpt %0\n" : "=m"(buffer) : "m"(val));
|
|
||||||
|
|
||||||
cpu_state.MM[reg & 7].q = (*(uint64_t*)buffer);
|
|
||||||
#else
|
|
||||||
x87_to80(val, &test);
|
|
||||||
cpu_state.MM[reg & 7].q = test.eind.ll;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static __inline void
|
static __inline void
|
||||||
fetch_ea_32_long(uint32_t rmdat)
|
fetch_ea_32_long(uint32_t rmdat)
|
||||||
{
|
{
|
||||||
@@ -278,6 +243,41 @@ fetch_ea_16_long(uint32_t rmdat)
|
|||||||
# define CACHE_ON() (!(cr0 & (1 << 30)) && !(cpu_state.flags & T_FLAG))
|
# define CACHE_ON() (!(cr0 & (1 << 30)) && !(cpu_state.flags & T_FLAG))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Deliberately stashed here; this function is only relevant for dynamic recompilers. */
|
||||||
|
#ifdef USE_NEW_DYNAREC
|
||||||
|
void
|
||||||
|
x87_to_mmxreg(uint16_t reg)
|
||||||
|
#else
|
||||||
|
void
|
||||||
|
x87_to_mmxreg(void)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#ifndef USE_NEW_DYNAREC
|
||||||
|
uint32_t reg = cpu_state.TOP & 7;
|
||||||
|
#endif
|
||||||
|
double val = cpu_state.ST[reg & 7];
|
||||||
|
#ifdef X87_INLINE_ASM
|
||||||
|
unsigned char buffer[10];
|
||||||
|
#else
|
||||||
|
x87_conv_t test;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef X87_INLINE_ASM
|
||||||
|
__asm volatile(""
|
||||||
|
:
|
||||||
|
:
|
||||||
|
: "memory");
|
||||||
|
|
||||||
|
__asm volatile("fldl %1\n"
|
||||||
|
"fstpt %0\n" : "=m"(buffer) : "m"(val));
|
||||||
|
|
||||||
|
cpu_state.MM[reg & 7].q = (*(uint64_t*)buffer);
|
||||||
|
#else
|
||||||
|
x87_to80(val, &test);
|
||||||
|
cpu_state.MM[reg & 7].q = test.eind.ll;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef USE_DYNAREC
|
#ifdef USE_DYNAREC
|
||||||
int32_t cycles_main = 0;
|
int32_t cycles_main = 0;
|
||||||
static int32_t cycles_old = 0;
|
static int32_t cycles_old = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user