Revert "Fix compile on ARM64"

This reverts commit c7153916eb.
This commit is contained in:
Cacodemon345
2025-02-28 16:51:13 +06:00
parent 80159bce74
commit 0bb89be0ad

View File

@@ -74,6 +74,7 @@ x386_dynarec_log(const char *fmt, ...)
# define x386_dynarec_log(fmt, ...)
#endif
/* Deliberately stashed here; this function is only relevant for dynamic recompilers. */
#if defined(_MSC_VER) && !defined(__clang__)
# if defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86
# define X87_INLINE_ASM
@@ -84,6 +85,40 @@ x386_dynarec_log(const char *fmt, ...)
# 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
fetch_ea_32_long(uint32_t rmdat)
{
@@ -243,41 +278,6 @@ fetch_ea_16_long(uint32_t rmdat)
# define CACHE_ON() (!(cr0 & (1 << 30)) && !(cpu_state.flags & T_FLAG))
#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
int32_t cycles_main = 0;
static int32_t cycles_old = 0;