diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-11-15 13:47:27 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-11-15 13:47:27 (GMT) |
commit | f4243f6d1f1a7512751d26235a492c24a9a4c76c (patch) | |
tree | ed889a96ac78d972b2c92e8dcb02cc31849f2ed4 /configure.in | |
parent | b43dbc26f9abbd6bf96bd95e6701719575c57341 (diff) | |
download | cpython-f4243f6d1f1a7512751d26235a492c24a9a4c76c.zip cpython-f4243f6d1f1a7512751d26235a492c24a9a4c76c.tar.gz cpython-f4243f6d1f1a7512751d26235a492c24a9a4c76c.tar.bz2 |
Merged revisions 76300 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76300 | mark.dickinson | 2009-11-15 13:12:43 +0000 (Sun, 15 Nov 2009) | 3 lines
Issue #5792: Extend short float repr support to x86 platforms using suncc or icc.
Many thanks Stefan Krah for help and OpenSolaris testing.
........
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/configure.in b/configure.in index 2e8da64..4a0bf68 100644 --- a/configure.in +++ b/configure.in @@ -3191,25 +3191,24 @@ fi # correctly-rounded string <-> double conversion functions from # Python/dtoa.c, which in turn require that the FPU uses 53-bit # rounding; this is a problem on x86, where the x87 FPU has a default -# rounding precision of 64 bits. For gcc/x86, we try to fix this by +# rounding precision of 64 bits. For gcc/x86, we can fix this by # using inline assembler to get and set the x87 FPU control word. -if test "$GCC" = yes && test -n "`$CC -dM -E - </dev/null | grep i386`" -then - # Check that it's okay to use gcc inline assembler to get and set - # x87 control word. It should be, but you never know... - AC_MSG_CHECKING(whether we can use gcc inline assembler to get and set x87 control word) - AC_TRY_COMPILE([], [ - unsigned short cw; - __asm__ __volatile__ ("fnstcw %0" : "=m" (cw)); - __asm__ __volatile__ ("fldcw %0" : : "m" (cw)); - ], - [have_gcc_asm_for_x87=yes], [have_gcc_asm_for_x87=no]) - AC_MSG_RESULT($have_gcc_asm_for_x87) - if test "$have_gcc_asm_for_x87" = yes - then - AC_DEFINE(HAVE_GCC_ASM_FOR_X87, 1, - [Define if we can use gcc inline assembler to get and set x87 control word]) - fi + +# This inline assembler syntax may also work for suncc and icc, +# so we try it on all platforms. + +AC_MSG_CHECKING(whether we can use gcc inline assembler to get and set x87 control word) +AC_TRY_COMPILE([], [ + unsigned short cw; + __asm__ __volatile__ ("fnstcw %0" : "=m" (cw)); + __asm__ __volatile__ ("fldcw %0" : : "m" (cw)); +], +[have_gcc_asm_for_x87=yes], [have_gcc_asm_for_x87=no]) +AC_MSG_RESULT($have_gcc_asm_for_x87) +if test "$have_gcc_asm_for_x87" = yes +then + AC_DEFINE(HAVE_GCC_ASM_FOR_X87, 1, + [Define if we can use gcc inline assembler to get and set x87 control word]) fi # Detect whether system arithmetic is subject to x87-style double |