diff --git a/src/fpu/fpu_instructions.h b/src/fpu/fpu_instructions.h index fa59e4ca..1b8329ce 100644 --- a/src/fpu/fpu_instructions.h +++ b/src/fpu/fpu_instructions.h @@ -41,6 +41,12 @@ static void FPU_FNOP(void){ return; } +static void FPU_PREP_PUSH(void){ + TOP = (TOP - 1) &7; + if (GCC_UNLIKELY(fpu.tags[TOP] != TAG_Empty)) E_Exit("FPU stack overflow"); + fpu.tags[TOP] = TAG_Valid; +} + static void FPU_PUSH(double in){ FPU_PREP_PUSH(); fpu.regs[TOP].d = in; @@ -48,11 +54,6 @@ static void FPU_PUSH(double in){ return; } -static void FPU_PREP_PUSH(void){ - TOP = (TOP - 1) &7; - if (GCC_UNLIKELY(fpu.tags[TOP] != TAG_Empty)) E_Exit("FPU stack overflow"); - fpu.tags[TOP] = TAG_Valid; -} static void FPU_FPOP(void){ if (GCC_UNLIKELY(fpu.tags[TOP] == TAG_Empty)) E_Exit("FPU stack underflow");