From d0c1ce658ed1e1510f54279f662fc8a096cae6f7 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 21 Apr 2020 10:17:00 +0200 Subject: i386: Replace fpcr clobber with memory clobber Update #3943. --- cpukit/score/cpu/i386/include/rtems/score/cpu.h | 4 ++-- cpukit/score/cpu/i386/sse_test.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'cpukit/score/cpu/i386') diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpu.h b/cpukit/score/cpu/i386/include/rtems/score/cpu.h index 225b72802d..632bf5ff38 100644 --- a/cpukit/score/cpu/i386/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/i386/include/rtems/score/cpu.h @@ -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); \ diff --git a/cpukit/score/cpu/i386/sse_test.c b/cpukit/score/cpu/i386/sse_test.c index dc87371c1f..14e7dd9fbf 100644 --- a/cpukit/score/cpu/i386/sse_test.c +++ b/cpukit/score/cpu/i386/sse_test.c @@ -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 */ -- cgit v1.2.3