Issue #7117 (backport py3k float repr) continued:
 - add double endianness detection to configure script
 - add configure-time check to see whether we can use inline
   assembly to get and set x87 control word in configure script
 - add functions to get and set x87 control word in Python/pymath.c
 - add pyport.h logic to determine whether it's safe to use the
   short float repr or not
diff --git a/Python/pymath.c b/Python/pymath.c
index 6438058..db2920c 100644
--- a/Python/pymath.c
+++ b/Python/pymath.c
@@ -13,6 +13,24 @@
 }
 #endif
 
+#ifdef HAVE_GCC_ASM_FOR_X87
+
+/* inline assembly for getting and setting the 387 FPU control word on
+   gcc/x86 */
+
+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));
+}
+
+#endif
+
+
 #ifndef HAVE_HYPOT
 double hypot(double x, double y)
 {