Skip to content

Commit f15e116

Browse files
Disable all architectures when XSIMD_EMULATED is set
This prevents interaction between emulated kernels and specific kernels.
1 parent 3d98504 commit f15e116

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

include/xsimd/config/xsimd_config.hpp

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,67 @@
606606
#define XSIMD_NO_SUPPORTED_ARCHITECTURE
607607
#endif
608608

609+
// When XSIMD_WITH_EMULATED is set, disable all other architectures
610+
#if XSIMD_WITH_EMULATED
611+
#undef XSIMD_WITH_SSE2
612+
#undef XSIMD_WITH_SSE3
613+
#undef XSIMD_WITH_SSSE3
614+
#undef XSIMD_WITH_SSE4_1
615+
#undef XSIMD_WITH_SSE4_2
616+
#undef XSIMD_WITH_AVX
617+
#undef XSIMD_WITH_AVX2
618+
#undef XSIMD_WITH_AVXVNNI
619+
#undef XSIMD_WITH_FMA3_SSE
620+
#undef XSIMD_WITH_FMA4
621+
#undef XSIMD_WITH_FMA3_AVX
622+
#undef XSIMD_WITH_FMA3_AVX2
623+
#undef XSIMD_WITH_AVX512F
624+
#undef XSIMD_WITH_AVX512CD
625+
#undef XSIMD_WITH_AVX512DQ
626+
#undef XSIMD_WITH_AVX512BW
627+
#undef XSIMD_WITH_AVX512ER
628+
#undef XSIMD_WITH_AVX512PF
629+
#undef XSIMD_WITH_AVX512IFMA
630+
#undef XSIMD_WITH_AVX512VBMI
631+
#undef XSIMD_WITH_AVX512VBMI2
632+
#undef XSIMD_WITH_NEON
633+
#undef XSIMD_WITH_NEON64
634+
#undef XSIMD_WITH_SVE
635+
#undef XSIMD_WITH_RVV
636+
#undef XSIMD_WITH_WASM
637+
#undef XSIMD_WITH_VSX
638+
#undef XSIMD_WITH_VXE
639+
640+
#define XSIMD_WITH_SSE2 0
641+
#define XSIMD_WITH_SSE3 0
642+
#define XSIMD_WITH_SSSE3 0
643+
#define XSIMD_WITH_SSE4_1 0
644+
#define XSIMD_WITH_SSE4_2 0
645+
#define XSIMD_WITH_AVX 0
646+
#define XSIMD_WITH_AVX2 0
647+
#define XSIMD_WITH_AVXVNNI 0
648+
#define XSIMD_WITH_FMA3_SSE 0
649+
#define XSIMD_WITH_FMA4 0
650+
#define XSIMD_WITH_FMA3_AVX 0
651+
#define XSIMD_WITH_FMA3_AVX2 0
652+
#define XSIMD_WITH_AVX512F 0
653+
#define XSIMD_WITH_AVX512CD 0
654+
#define XSIMD_WITH_AVX512DQ 0
655+
#define XSIMD_WITH_AVX512BW 0
656+
#define XSIMD_WITH_AVX512ER 0
657+
#define XSIMD_WITH_AVX512PF 0
658+
#define XSIMD_WITH_AVX512IFMA 0
659+
#define XSIMD_WITH_AVX512VBMI 0
660+
#define XSIMD_WITH_AVX512VBMI2 0
661+
#define XSIMD_WITH_NEON 0
662+
#define XSIMD_WITH_NEON64 0
663+
#define XSIMD_WITH_SVE 0
664+
#define XSIMD_WITH_RVV 0
665+
#define XSIMD_WITH_WASM 0
666+
#define XSIMD_WITH_VSX 0
667+
#define XSIMD_WITH_VXE 0
668+
#endif
669+
609670
/**
610671
* @ingroup xsimd_config_macro
611672
*

0 commit comments

Comments
 (0)