diff options
Diffstat (limited to 'src/dynarec/arm64/dynarec_arm64_functions.h')
| -rwxr-xr-x | src/dynarec/arm64/dynarec_arm64_functions.h | 55 |
1 files changed, 3 insertions, 52 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_functions.h b/src/dynarec/arm64/dynarec_arm64_functions.h index e65c2cde..c5b729ad 100755 --- a/src/dynarec/arm64/dynarec_arm64_functions.h +++ b/src/dynarec/arm64/dynarec_arm64_functions.h @@ -1,46 +1,7 @@ #ifndef __DYNAREC_ARM_FUNCTIONS_H__ #define __DYNAREC_ARM_FUNCTIONS_H__ -typedef struct x64emu_s x64emu_t; - -void arm_fstp(x64emu_t* emu, void* p); - -void arm_print_armreg(x64emu_t* emu, uintptr_t reg, uintptr_t n); - -void arm_f2xm1(x64emu_t* emu); -void arm_fyl2x(x64emu_t* emu); -void arm_ftan(x64emu_t* emu); -void arm_fpatan(x64emu_t* emu); -void arm_fxtract(x64emu_t* emu); -void arm_fprem(x64emu_t* emu); -void arm_fyl2xp1(x64emu_t* emu); -void arm_fsincos(x64emu_t* emu); -void arm_frndint(x64emu_t* emu); -void arm_fscale(x64emu_t* emu); -void arm_fsin(x64emu_t* emu); -void arm_fcos(x64emu_t* emu); -void arm_fbld(x64emu_t* emu, uint8_t* ed); -void arm_fild64(x64emu_t* emu, int64_t* ed); -void arm_fbstp(x64emu_t* emu, uint8_t* ed); -void arm_fistp64(x64emu_t* emu, int64_t* ed); -void arm_fistt64(x64emu_t* emu, int64_t* ed); -void arm_fld(x64emu_t* emu, uint8_t* ed); -void arm_fsave(x64emu_t* emu, uint8_t* ed); -void arm_frstor(x64emu_t* emu, uint8_t* ed); -void arm_fprem1(x64emu_t* emu); - -void arm_aesd(x64emu_t* emu, int xmm); -void arm_aese(x64emu_t* emu, int xmm); -void arm_aesdlast(x64emu_t* emu, int xmm); -void arm_aeselast(x64emu_t* emu, int xmm); -void arm_aesimc(x64emu_t* emu, int xmm); -void arm_aeskeygenassist(x64emu_t* emu, int gx, int ex, void* p, uint32_t u8); -void arm_pclmul(x64emu_t* emu, int gx, int ex, void* p, uint32_t u8); - -void arm_clflush(x64emu_t* emu, void* p); - -void arm_ud(x64emu_t* emu); -void arm_priv(x64emu_t* emu); +#include "../dynarec_native_functions.h" // Get an FPU scratch reg int fpu_get_scratch(dynarec_arm_t* dyn); @@ -71,8 +32,8 @@ void neoncache_promote_double(dynarec_arm_t* dyn, int ninst, int a); // Combine and propagate if needed (pass 1 only) int neoncache_combine_st(dynarec_arm_t* dyn, int ninst, int a, int b); // with stack current dyn->n_stack* -// FPU Cache transformation (for loops) -int CacheNeedsTransform(dynarec_arm_t* dyn, int i1); +// FPU Cache transformation (for loops) // Specific, need to be writen par backend +int fpuCacheNeedsTransform(dynarec_arm_t* dyn, int ninst); // Undo the changes of a neoncache to get the status before the instruction void neoncacheUnwind(neoncache_t* cache); @@ -81,14 +42,4 @@ void neoncacheUnwind(neoncache_t* cache); int isPred(dynarec_arm_t* dyn, int ninst, int pred); int getNominalPred(dynarec_arm_t* dyn, int ninst); -// Get if ED will have the correct parity. Not emiting anything. Parity is 2 for DWORD or 3 for QWORD -int getedparity(dynarec_arm_t* dyn, int ninst, uintptr_t addr, uint8_t nextop, int parity, int delta); -// Do the GETED, but don't emit anything... -uintptr_t fakeed(dynarec_arm_t* dyn, uintptr_t addr, int ninst, uint8_t nextop); - -// Is what pointed at addr a native call? And if yes, to what function? -int isNativeCall(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t* calladdress, int* retn); - -const char* getCacheName(int t, int n); - #endif //__DYNAREC_ARM_FUNCTIONS_H__ \ No newline at end of file |