i386: Replace fpcr clobber with memory clobber

Update #3943.
This commit is contained in:
Sebastian Huber
2020-04-21 10:17:00 +02:00
parent 3c78e93c95
commit d0c1ce658e
2 changed files with 3 additions and 3 deletions

View File

@@ -621,7 +621,7 @@ void _CPU_Context_save_fp(
__asm__ __volatile__( \
"fldcw %0" \
::"m"((*(fp_context_pp))->fpucw) \
:"fpcr" \
:"memory" \
); \
__builtin_ia32_ldmxcsr(_Thread_Executing->fp_context->mxcsr); \
} while (0)
@@ -640,7 +640,7 @@ void _CPU_Context_restore_fp(
: \
:"st","st(1)","st(2)","st(3)", \
"st(4)","st(5)","st(6)","st(7)", \
"fpsr","fpcr" \
"fpsr","memory" \
); \
if ( _Thread_Executing->fp_context ) { \
_CPU_Context_restore_fp(&_Thread_Executing->fp_context); \

View File

@@ -229,7 +229,7 @@ fp_ld(Context_Control_sse *p_ctxt, int i)
#define FPUCLOBBER \
"st","st(1)","st(2)","st(3)", \
"st(4)","st(5)","st(6)","st(7)",\
"fpsr","fpcr"
"fpsr","memory"
/* There seems to be no way to say that mxcsr was clobbered */