Mercurial > sdl-ios-xcode
diff configure.in @ 2856:c765f5fa4a2c
Default SSE2 off on iX86, since gcc will use it for floating point operations
even if -mfpmath=387 is set. Grr...
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 07 Dec 2008 23:25:39 +0000 |
parents | 33ddad305f3d |
children | 5e04bdd79479 |
line wrap: on
line diff
--- a/configure.in Sun Dec 07 22:56:18 2008 +0000 +++ b/configure.in Sun Dec 07 23:25:39 2008 +0000 @@ -285,6 +285,30 @@ if test x$enable_assembly = xyes; then AC_DEFINE(SDL_ASSEMBLY_ROUTINES) + # Make sure that we don't generate floating point code that would + # cause illegal instruction exceptions on older processors + case "$host" in + *-*-darwin*) + # Don't need to worry about Apple hardware, it's all SSE capable + default_ssemath=yes + ;; + *64-*-*) + # x86 64-bit architectures all have SSE instructions + default_ssemath=yes + ;; + *) + default_ssemath=no + ;; + esac + AC_ARG_ENABLE(ssemath, +AC_HELP_STRING([--enable-ssemath], [Allow GCC to use SSE floating point math [[default=no]]]), + , enable_ssemath=$default_ssemath) + if test x$enable_ssemath = xno; then + if test x$have_gcc_sse = xyes -o x$have_gcc_sse2 = xyes; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -mfpmath=387" + fi + fi + dnl Check for various instruction support AC_ARG_ENABLE(mmx, AC_HELP_STRING([--enable-mmx], [use MMX assembly routines [[default=yes]]]), @@ -368,8 +392,8 @@ fi AC_ARG_ENABLE(sse2, -AC_HELP_STRING([--enable-sse2], [use SSE2 assembly routines [[default=yes]]]), - , enable_sse2=yes) +AC_HELP_STRING([--enable-sse2], [use SSE2 assembly routines [[default=no]]]), + , enable_sse2=$default_ssemath) if test x$enable_sse2 = xyes; then save_CFLAGS="$CFLAGS" have_gcc_sse2=no @@ -394,30 +418,6 @@ fi fi - # Make sure that we don't generate floating point code that would - # cause illegal instruction exceptions on older processors - case "$host" in - *-*-darwin*) - # Don't need to worry about Apple hardware, it's all SSE capable - default_ssemath=yes - ;; - *64-*-*) - # x86 64-bit architectures all have SSE instructions - default_ssemath=yes - ;; - *) - default_ssemath=no - ;; - esac - AC_ARG_ENABLE(ssemath, -AC_HELP_STRING([--enable-ssemath], [Allow GCC to use SSE floating point math [[default=no]]]), - , enable_ssemath=$default_ssemath) - if test x$enable_ssemath = xno; then - if test x$have_gcc_sse = xyes -o x$have_gcc_sse2 = xyes; then - EXTRA_CFLAGS="$EXTRA_CFLAGS -mfpmath=387" - fi - fi - AC_ARG_ENABLE(altivec, AC_HELP_STRING([--enable-altivec], [use Altivec assembly routines [[default=yes]]]), , enable_altivec=yes)