Hi
Over at RTEMS, we have had a report that this very old code has quit
compiling:
#ifdef __SSE__
#define _CPU_Context_restore_fp(fp_context_pp) \
do { \
__asm__ __volatile__( \
"fldcw %0" \
::"m"((*(fp_context_pp))->fpucw) \
:"fpcr" \
); \
__builtin_ia32_ldmxcsr(_Thread_Executing->fp_context->mxcsr); \
} while (0)
#else
The error is "error: unknown register name 'fpcr' in 'asm'"
This is when compiling for two i386 variants:
CPU_CFLAGS = -mtune=pentium4 -march=pentium4 -msse3
CPU_CFLAGS = -mtune=pentium -march=pentium -msse2
Is there a change we should be aware of in the inline assembly macros? Or
is it possible that __SSE__ and fpcr are not tied together like they were
until recently?
If needed, I can put together a full test case. I was hoping this one was
an obvious explanation before that.
Thanks.
--joel