Check for immintrin.h before using it in SDL_cpuinfo.h
parent
1b16618b13
commit
f1ec8a5f4c
|
@ -580,6 +580,8 @@ if(ASSEMBLY)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
check_include_file("immintrin.h" HAVE_IMMINTRIN_H)
|
||||||
|
|
||||||
if(ALTIVEC)
|
if(ALTIVEC)
|
||||||
set(CMAKE_REQUIRED_FLAGS "-maltivec")
|
set(CMAKE_REQUIRED_FLAGS "-maltivec")
|
||||||
check_c_source_compiles("
|
check_c_source_compiles("
|
||||||
|
|
|
@ -17396,6 +17396,20 @@ $as_echo "$have_gcc_sse3" >&6; }
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ac_fn_c_check_header_mongrel "$LINENO" "immintrin.h" "ac_cv_header_immintrin_h" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_header_immintrin_h" = xyes; then :
|
||||||
|
have_immintrin_h_hdr=yes
|
||||||
|
else
|
||||||
|
have_immintrin_h_hdr=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test x$have_immintrin_h_hdr = xyes; then
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_IMMINTRIN_H 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# Check whether --enable-altivec was given.
|
# Check whether --enable-altivec was given.
|
||||||
if test "${enable_altivec+set}" = set; then :
|
if test "${enable_altivec+set}" = set; then :
|
||||||
enableval=$enable_altivec;
|
enableval=$enable_altivec;
|
||||||
|
|
|
@ -670,6 +670,13 @@ AC_HELP_STRING([--enable-sse3], [use SSE3 assembly routines [[default=maybe]]]),
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_HEADER(immintrin.h,
|
||||||
|
have_immintrin_h_hdr=yes,
|
||||||
|
have_immintrin_h_hdr=no)
|
||||||
|
if test x$have_immintrin_h_hdr = xyes; then
|
||||||
|
AC_DEFINE(HAVE_IMMINTRIN_H, 1, [ ])
|
||||||
|
fi
|
||||||
|
|
||||||
AC_ARG_ENABLE(altivec,
|
AC_ARG_ENABLE(altivec,
|
||||||
AC_HELP_STRING([--enable-altivec], [use Altivec assembly routines [[default=yes]]]),
|
AC_HELP_STRING([--enable-altivec], [use Altivec assembly routines [[default=yes]]]),
|
||||||
, enable_altivec=yes)
|
, enable_altivec=yes)
|
||||||
|
|
|
@ -191,11 +191,12 @@
|
||||||
#endif /* HAVE_LIBC */
|
#endif /* HAVE_LIBC */
|
||||||
|
|
||||||
#cmakedefine HAVE_ALTIVEC_H 1
|
#cmakedefine HAVE_ALTIVEC_H 1
|
||||||
#cmakedefine HAVE_LIBUDEV_H 1
|
|
||||||
#cmakedefine HAVE_DBUS_DBUS_H 1
|
#cmakedefine HAVE_DBUS_DBUS_H 1
|
||||||
#cmakedefine HAVE_IBUS_IBUS_H 1
|
|
||||||
#cmakedefine HAVE_FCITX_FRONTEND_H 1
|
#cmakedefine HAVE_FCITX_FRONTEND_H 1
|
||||||
|
#cmakedefine HAVE_IBUS_IBUS_H 1
|
||||||
|
#cmakedefine HAVE_IMMINTRIN_H 1
|
||||||
#cmakedefine HAVE_LIBSAMPLERATE_H 1
|
#cmakedefine HAVE_LIBSAMPLERATE_H 1
|
||||||
|
#cmakedefine HAVE_LIBUDEV_H 1
|
||||||
|
|
||||||
#cmakedefine HAVE_D3D_H @HAVE_D3D_H@
|
#cmakedefine HAVE_D3D_H @HAVE_D3D_H@
|
||||||
#cmakedefine HAVE_D3D11_H @HAVE_D3D11_H@
|
#cmakedefine HAVE_D3D11_H @HAVE_D3D11_H@
|
||||||
|
|
|
@ -193,11 +193,12 @@
|
||||||
#endif /* HAVE_LIBC */
|
#endif /* HAVE_LIBC */
|
||||||
|
|
||||||
#undef HAVE_ALTIVEC_H
|
#undef HAVE_ALTIVEC_H
|
||||||
#undef HAVE_LIBUDEV_H
|
|
||||||
#undef HAVE_DBUS_DBUS_H
|
#undef HAVE_DBUS_DBUS_H
|
||||||
#undef HAVE_IBUS_IBUS_H
|
|
||||||
#undef HAVE_FCITX_FRONTEND_H
|
#undef HAVE_FCITX_FRONTEND_H
|
||||||
|
#undef HAVE_IBUS_IBUS_H
|
||||||
|
#undef HAVE_IMMINTRIN_H
|
||||||
#undef HAVE_LIBSAMPLERATE_H
|
#undef HAVE_LIBSAMPLERATE_H
|
||||||
|
#undef HAVE_LIBUDEV_H
|
||||||
|
|
||||||
#undef HAVE_DDRAW_H
|
#undef HAVE_DDRAW_H
|
||||||
#undef HAVE_DINPUT_H
|
#undef HAVE_DINPUT_H
|
||||||
|
|
|
@ -59,10 +59,26 @@
|
||||||
#ifdef __3dNOW__
|
#ifdef __3dNOW__
|
||||||
#include <mm3dnow.h>
|
#include <mm3dnow.h>
|
||||||
#endif
|
#endif
|
||||||
#if defined(__i386__) || defined(__x86_64__)
|
#if HAVE_IMMINTRIN_H
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
|
#else
|
||||||
|
#ifdef __MMX__
|
||||||
|
#include <mmintrin.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __3dNOW__
|
||||||
|
#include <mm3dnow.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __SSE__
|
||||||
|
#include <xmmintrin.h>
|
||||||
|
#endif
|
||||||
|
#ifdef __SSE2__
|
||||||
|
#include <emmintrin.h>
|
||||||
|
#endif
|
||||||
|
#ifdef __SSE3__
|
||||||
|
#include <pmmintrin.h>
|
||||||
|
#endif
|
||||||
|
#endif /* HAVE_IMMINTRIN_H */
|
||||||
|
#endif /* compiler version */
|
||||||
|
|
||||||
#include "begin_code.h"
|
#include "begin_code.h"
|
||||||
/* Set up for C function definitions, even when using C++ */
|
/* Set up for C function definitions, even when using C++ */
|
||||||
|
|
Loading…
Reference in New Issue