intrinsics: add lsx/lasx intrinsic headers when not disabled

__attribute__((target(xx))) is not supported by LoongArch64.
The following warning is emitted:
target attribute is not supported on this machine [-Wattributes]
This commit is contained in:
Anonymous Maarten
2023-03-30 04:00:48 +02:00
parent 94bca5a2a3
commit b99f380498
2 changed files with 9 additions and 10 deletions

View File

@@ -966,7 +966,6 @@ if(SDL_ASSEMBLY)
cmake_pop_check_state() cmake_pop_check_state()
if(COMPILER_SUPPORTS_LSX AND HAVE_LSXINTRIN_H) if(COMPILER_SUPPORTS_LSX AND HAVE_LSXINTRIN_H)
target_compile_options(sdl-build-options INTERFACE "-mlsx")
set(HAVE_LSX TRUE) set(HAVE_LSX TRUE)
endif() endif()
endif() endif()
@@ -982,7 +981,6 @@ if(SDL_ASSEMBLY)
check_include_file("lasxintrin.h" HAVE_LASXINTRIN_H) check_include_file("lasxintrin.h" HAVE_LASXINTRIN_H)
cmake_pop_check_state() cmake_pop_check_state()
if(COMPILER_SUPPORTS_LASX AND HAVE_LASXINTRIN_H) if(COMPILER_SUPPORTS_LASX AND HAVE_LASXINTRIN_H)
target_compile_options(sdl-build-options INTERFACE "-mlasx")
set(HAVE_LASX TRUE) set(HAVE_LASX TRUE)
endif() endif()
endif() endif()

View File

@@ -99,15 +99,16 @@ _m_prefetch(void *__P)
# define SDL_TARGETING(x) # define SDL_TARGETING(x)
#endif #endif
#if defined(__loongarch_sx) && !defined(SDL_DISABLE_LSX) #if defined(__loongarch64)
# ifndef SDL_DISABLE_LSX
# define SDL_LSX_INTRINSICS 1 # define SDL_LSX_INTRINSICS 1
# include <lsxintrin.h> # include <lsxintrin.h>
# endif # endif
# ifndef SDL_DISABLE_LASX
#if defined(__loongarch_asx) && !defined(SDL_DISABLE_LASX)
# define SDL_LASX_INTRINSICS 1 # define SDL_LASX_INTRINSICS 1
# include <lasxintrin.h> # include <lasxintrin.h>
# endif # endif
#endif
#if defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) #if defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86)
# if ((defined(_MSC_VER) && !defined(_M_X64)) || defined(__MMX__) || defined(SDL_HAS_TARGET_ATTRIBS)) && !defined(SDL_DISABLE_MMX) # if ((defined(_MSC_VER) && !defined(_M_X64)) || defined(__MMX__) || defined(SDL_HAS_TARGET_ATTRIBS)) && !defined(SDL_DISABLE_MMX)