void genneg_s(void) { #ifdef INTERPRET_NEG_S gencallinterp((native_type)cached_interpreter_table.NEG_S, 0); #else gencheck_cop1_unusable(); #ifdef __x86_64__ mov_xreg64_m64rel(RAX, (unsigned long long *)(®_cop1_simple[dst->f.cf.fs])); fld_preg64_dword(RAX); fchs(); mov_xreg64_m64rel(RAX, (unsigned long long *)(®_cop1_simple[dst->f.cf.fd])); fstp_preg64_dword(RAX); #else mov_eax_memoffs32((unsigned int *)(®_cop1_simple[dst->f.cf.fs])); fld_preg32_dword(EAX); fchs(); mov_eax_memoffs32((unsigned int *)(®_cop1_simple[dst->f.cf.fd])); fstp_preg32_dword(EAX); #endif #endif }
void genneg_d(usf_state_t * state) { #ifdef INTERPRET_NEG_D gencallinterp(state, (unsigned int)state->current_instruction_table.NEG_D, 0); #else gencheck_cop1_unusable(state); mov_eax_memoffs32(state, (unsigned int *)(&state->reg_cop1_double[state->dst->f.cf.fs])); fld_preg32_qword(state, EAX); fchs(state); mov_eax_memoffs32(state, (unsigned int *)(&state->reg_cop1_double[state->dst->f.cf.fd])); fstp_preg32_qword(state, EAX); #endif }
void genneg_s() { #ifdef INTERPRET_NEG_S gencallinterp((u32)NEG_S, 0); #else gencheck_cop1_unusable(); mov_eax_memoffs32((u32 *)(®_cop1_simple[dst->f.cf.fs])); fld_preg32_dword(EAX); fchs(); mov_eax_memoffs32((u32 *)(®_cop1_simple[dst->f.cf.fd])); fstp_preg32_dword(EAX); #endif }
void genneg_d() { #ifdef INTERPRET_NEG_D gencallinterp((unsigned long)NEG_D, 0); #else gencheck_cop1_unusable(); mov_eax_memoffs32((unsigned long *)(®_cop1_double[dst->f.cf.fs])); fld_preg32_qword(EAX); fchs(); mov_eax_memoffs32((unsigned long *)(®_cop1_double[dst->f.cf.fd])); fstp_preg32_qword(EAX); #endif }
void genneg_s(void) { #ifdef INTERPRET_NEG_S gencallinterp((unsigned int)cached_interpreter_table.NEG_S, 0); #else gencheck_cop1_unusable(); mov_eax_memoffs32((unsigned int *)(®_cop1_simple[dst->f.cf.fs])); fld_preg32_dword(EAX); fchs(); mov_eax_memoffs32((unsigned int *)(®_cop1_simple[dst->f.cf.fd])); fstp_preg32_dword(EAX); #endif }
void genneg_s(void) { #if defined(COUNT_INSTR) inc_m32rel(&instr_count[126]); #endif #ifdef INTERPRET_NEG_S gencallinterp((unsigned long long)cached_interpreter_table.NEG_S, 0); #else gencheck_cop1_unusable(); mov_xreg64_m64rel(RAX, (unsigned long long *)(®_cop1_simple[dst->f.cf.fs])); fld_preg64_dword(RAX); fchs(); mov_xreg64_m64rel(RAX, (unsigned long long *)(®_cop1_simple[dst->f.cf.fd])); fstp_preg64_dword(RAX); #endif }