diff --git a/BasiliskII/src/uae_cpu/fpu/fpu_x86.cpp b/BasiliskII/src/uae_cpu/fpu/fpu_x86.cpp index 1cbaa18a..83afdf84 100644 --- a/BasiliskII/src/uae_cpu/fpu/fpu_x86.cpp +++ b/BasiliskII/src/uae_cpu/fpu/fpu_x86.cpp @@ -596,8 +596,8 @@ static uae_s32 extended_to_signed_32( float80 f ) REGPARAM; static uae_s32 extended_to_signed_32( float80 f ) { FPU_CONSISTENCY_CHECK_START(); - uae_s32 tmp; - WORD sw_temp; + volatile uae_s32 tmp; + volatile WORD sw_temp; /* _asm { MOV EDI, [f] @@ -638,8 +638,8 @@ static uae_s16 extended_to_signed_16( float80 f ) REGPARAM; static uae_s16 extended_to_signed_16( float80 f ) { FPU_CONSISTENCY_CHECK_START(); - uae_s16 tmp; - WORD sw_temp; + volatile uae_s16 tmp; + volatile WORD sw_temp; /* _asm { MOV EDI, [f] @@ -678,8 +678,8 @@ static uae_s8 extended_to_signed_8( float80 f ) REGPARAM; static uae_s8 extended_to_signed_8( float80 f ) { FPU_CONSISTENCY_CHECK_START(); - uae_s16 tmp; - WORD sw_temp; + volatile uae_s16 tmp; + volatile WORD sw_temp; /* _asm { MOV EDI, [f] @@ -743,7 +743,7 @@ static double extended_to_double( float80 f ) REGPARAM; static double extended_to_double( float80 f ) { FPU_CONSISTENCY_CHECK_START(); - double result; + volatile double result; /* _asm { MOV ESI, [f] @@ -881,8 +881,8 @@ static uae_u32 from_single( float80 f ) REGPARAM; static uae_u32 from_single( float80 f ) { FPU_CONSISTENCY_CHECK_START(); - uae_u32 dest; - WORD sw_temp; + volatile uae_u32 dest; + volatile WORD sw_temp; /* _asm { MOV EDI, [f] @@ -929,8 +929,8 @@ static void from_double( float80 f, uae_u32 *wrd1, uae_u32 *wrd2 ) REGPARAM; static void from_double( float80 f, uae_u32 *wrd1, uae_u32 *wrd2 ) { FPU_CONSISTENCY_CHECK_START(); - uae_u32 dest[2]; - WORD sw_temp; + volatile uae_u32 dest[2]; + volatile WORD sw_temp; /* _asm { MOV EDI, [f] @@ -1038,7 +1038,7 @@ static void do_fintrz( float80 dest, float80 src ) REGPARAM; static void do_fintrz( float80 dest, float80 src ) { FPU_CONSISTENCY_CHECK_START(); - WORD cw_temp; + volatile WORD cw_temp; /* _asm { MOV ESI, [src] @@ -1980,7 +1980,7 @@ static void do_fsgldiv( float80 dest, float80 src ) REGPARAM; static void do_fsgldiv( float80 dest, float80 src ) { FPU_CONSISTENCY_CHECK_START(); - WORD cw_temp; + volatile WORD cw_temp; /* _asm { FSTCW cw_temp and cw_temp, ~X86_PRECISION_CONTROL_MASK @@ -2059,7 +2059,7 @@ static void do_fsglmul( float80 dest, float80 src ) REGPARAM; static void do_fsglmul( float80 dest, float80 src ) { FPU_CONSISTENCY_CHECK_START(); - WORD cw_temp; + volatile WORD cw_temp; /* _asm { FSTCW cw_temp @@ -2308,7 +2308,7 @@ static void from_pack(double src, uae_u32 * wrd1, uae_u32 * wrd2, uae_u32 * wrd3 D(bug("from_pack(%.04f) = %X,%X,%X\r\n",(float)src,*wrd1,*wrd2,*wrd3)); - WORD sw_temp; + volatile WORD sw_temp; // _asm FNSTSW sw_temp _ASM("fnstsw %0" : "=m" (sw_temp)); if(sw_temp & SW_EXCEPTION_MASK) {