mirror of https://github.com/libsdl-org/SDL
Check for immintrin.h before using it in SDL_cpuinfo.h
This commit is contained in:
parent
1b16618b13
commit
f1ec8a5f4c
|
@ -580,6 +580,8 @@ if(ASSEMBLY)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
check_include_file("immintrin.h" HAVE_IMMINTRIN_H)
|
||||
|
||||
if(ALTIVEC)
|
||||
set(CMAKE_REQUIRED_FLAGS "-maltivec")
|
||||
check_c_source_compiles("
|
||||
|
|
|
@ -17396,6 +17396,20 @@ $as_echo "$have_gcc_sse3" >&6; }
|
|||
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.
|
||||
if test "${enable_altivec+set}" = set; then :
|
||||
enableval=$enable_altivec;
|
||||
|
|
|
@ -670,6 +670,13 @@ AC_HELP_STRING([--enable-sse3], [use SSE3 assembly routines [[default=maybe]]]),
|
|||
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_HELP_STRING([--enable-altivec], [use Altivec assembly routines [[default=yes]]]),
|
||||
, enable_altivec=yes)
|
||||
|
|
|
@ -191,11 +191,12 @@
|
|||
#endif /* HAVE_LIBC */
|
||||
|
||||
#cmakedefine HAVE_ALTIVEC_H 1
|
||||
#cmakedefine HAVE_LIBUDEV_H 1
|
||||
#cmakedefine HAVE_DBUS_DBUS_H 1
|
||||
#cmakedefine HAVE_IBUS_IBUS_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_LIBUDEV_H 1
|
||||
|
||||
#cmakedefine HAVE_D3D_H @HAVE_D3D_H@
|
||||
#cmakedefine HAVE_D3D11_H @HAVE_D3D11_H@
|
||||
|
|
|
@ -193,11 +193,12 @@
|
|||
#endif /* HAVE_LIBC */
|
||||
|
||||
#undef HAVE_ALTIVEC_H
|
||||
#undef HAVE_LIBUDEV_H
|
||||
#undef HAVE_DBUS_DBUS_H
|
||||
#undef HAVE_IBUS_IBUS_H
|
||||
#undef HAVE_FCITX_FRONTEND_H
|
||||
#undef HAVE_IBUS_IBUS_H
|
||||
#undef HAVE_IMMINTRIN_H
|
||||
#undef HAVE_LIBSAMPLERATE_H
|
||||
#undef HAVE_LIBUDEV_H
|
||||
|
||||
#undef HAVE_DDRAW_H
|
||||
#undef HAVE_DINPUT_H
|
||||
|
|
|
@ -59,10 +59,26 @@
|
|||
#ifdef __3dNOW__
|
||||
#include <mm3dnow.h>
|
||||
#endif
|
||||
#if defined(__i386__) || defined(__x86_64__)
|
||||
#if HAVE_IMMINTRIN_H
|
||||
#include <immintrin.h>
|
||||
#else
|
||||
#ifdef __MMX__
|
||||
#include <mmintrin.h>
|
||||
#endif
|
||||
#ifdef __3dNOW__
|
||||
#include <mm3dnow.h>
|
||||
#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"
|
||||
/* Set up for C function definitions, even when using C++ */
|
||||
|
|
Loading…
Reference in New Issue