2008-04-19 08:31:39 +08:00
|
|
|
#include "Python.h"
|
|
|
|
|
2009-04-17 03:52:09 +08:00
|
|
|
|
2021-10-12 05:09:40 +08:00
|
|
|
#ifdef HAVE_GCC_ASM_FOR_X87
|
|
|
|
// Inline assembly for getting and setting the 387 FPU control word on
|
|
|
|
// GCC/x86.
|
2018-11-13 14:01:22 +08:00
|
|
|
#ifdef _Py_MEMORY_SANITIZER
|
2018-11-13 04:07:14 +08:00
|
|
|
__attribute__((no_sanitize_memory))
|
|
|
|
#endif
|
2009-04-17 03:52:09 +08:00
|
|
|
unsigned short _Py_get_387controlword(void) {
|
|
|
|
unsigned short cw;
|
|
|
|
__asm__ __volatile__ ("fnstcw %0" : "=m" (cw));
|
|
|
|
return cw;
|
|
|
|
}
|
|
|
|
|
|
|
|
void _Py_set_387controlword(unsigned short cw) {
|
|
|
|
__asm__ __volatile__ ("fldcw %0" : : "m" (cw));
|
|
|
|
}
|
2021-10-12 05:09:40 +08:00
|
|
|
#endif // HAVE_GCC_ASM_FOR_X87
|