summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-04-21 10:17:00 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-07-05 10:59:11 +0200
commitd0c1ce658ed1e1510f54279f662fc8a096cae6f7 (patch)
tree027d0ae44da959b3ab79a1a52e7aba022495a6ee
parentscore: Clarify CPU_USE_LIBC_INIT_FINI_ARRAY option (diff)
downloadrtems-d0c1ce658ed1e1510f54279f662fc8a096cae6f7.tar.bz2
i386: Replace fpcr clobber with memory clobber
Update #3943.
-rw-r--r--cpukit/score/cpu/i386/include/rtems/score/cpu.h4
-rw-r--r--cpukit/score/cpu/i386/sse_test.c2
2 files changed, 3 insertions, 3 deletions
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 */