diff --git a/src/cpu/core_dyn_x86.cpp b/src/cpu/core_dyn_x86.cpp index 4a9b2094..71605085 100644 --- a/src/cpu/core_dyn_x86.cpp +++ b/src/cpu/core_dyn_x86.cpp @@ -49,6 +49,10 @@ #define DYN_LOG #endif +#if C_FPU +#define CPU_FPU 1 //Enable FPU escape instructions +#endif + enum { G_EAX,G_ECX,G_EDX,G_EBX, G_ESP,G_EBP,G_ESI,G_EDI, diff --git a/src/cpu/core_dyn_x86/decoder.h b/src/cpu/core_dyn_x86/decoder.h index 3b3750c9..108e0392 100644 --- a/src/cpu/core_dyn_x86/decoder.h +++ b/src/cpu/core_dyn_x86/decoder.h @@ -1339,6 +1339,7 @@ restart_prefix: case 0xd2:dyn_grp2_eb(grp2_cl);break; case 0xd3:dyn_grp2_ev(grp2_cl);break; //FPU +#ifdef CPU_FPU case 0xd8: DYN_FPU_ESC(0); break; @@ -1363,6 +1364,7 @@ restart_prefix: case 0xdf: DYN_FPU_ESC(7); break; +#endif //Loop's case 0xe2:dyn_loop(LOOP_NONE);goto finish_block; case 0xe3:dyn_loop(LOOP_JCXZ);goto finish_block;