fixed compilation with 3dnow enabled

This commit is contained in:
Stanislav Shwartsman 2024-04-24 21:48:53 +03:00
parent dc7291be75
commit b2d6d34178

View File

@ -30,11 +30,11 @@
BX_CPP_INLINE void prepare_softfloat_status_word(float_status_t &status, int rounding_mode)
{
status.float_exception_flags = 0; // clear exceptions before execution
status.float_rounding_mode = rounding_mode;
status.flush_underflow_to_zero = 0;
status.float_suppress_exception = 0;
status.denormals_are_zeros = 0;
status.softfloat_exceptionFlags = 0; // clear exceptions before execution
status.softfloat_roundingMode = rounding_mode;
status.softfloat_flush_underflow_to_zero = 0;
status.softfloat_suppressException = 0;
status.softfloat_denormals_are_zeros = 0;
}
void BX_CPP_AttrRegparmN(1) BX_CPU_C::PFPNACC_PqQq(bxInstruction_c *i)
@ -67,7 +67,7 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::PI2FW_PqQq(bxInstruction_c *i)
BX_CPU_THIS_PTR prepareFPU2MMX(); /* FPU2MMX transition */
float_status_t status;
prepare_softfloat_status_word(status, float_round_to_zero);
prepare_softfloat_status_word(status, softfloat_round_to_zero);
MMXUD0(result) = i32_to_f32((Bit32s)(MMXSW0(op)), &status);
MMXUD1(result) = i32_to_f32((Bit32s)(MMXSW2(op)), &status);
@ -100,7 +100,7 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::PI2FD_PqQq(bxInstruction_c *i)
BX_CPU_THIS_PTR prepareFPU2MMX(); /* FPU2MMX transition */
float_status_t status;
prepare_softfloat_status_word(status, float_round_to_zero);
prepare_softfloat_status_word(status, softfloat_round_to_zero);
MMXUD0(op) = i32_to_f32(MMXSD0(op), &status);
MMXUD1(op) = i32_to_f32(MMXSD1(op), &status);
@ -142,7 +142,7 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::PF2ID_PqQq(bxInstruction_c *i)
BX_CPU_THIS_PTR prepareFPU2MMX(); /* FPU2MMX transition */
float_status_t status;
prepare_softfloat_status_word(status, float_round_to_zero);
prepare_softfloat_status_word(status, softfloat_round_to_zero);
MMXSD0(op) = f32_to_i32_round_to_zero(MMXUD0(op), &status);
MMXSD1(op) = f32_to_i32_round_to_zero(MMXUD1(op), &status);