Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion stl/inc/xutility
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,12 @@ _STL_DISABLE_CLANG_WARNINGS
// In the STL's implementation, we inspect the following detection macros,
// because various algorithms are vectorized for various architectures.

// _CALL_ALL_X64_VECTOR_ALGORITHMS_ON_ARM64EC is a macro to test ARM64EC fallbacks for x64 algorithms.

#if !_USE_STD_VECTOR_ALGORITHMS
#define _VECTORIZED_FOR_X64_X86 0
#define _VECTORIZED_FOR_X64_X86_ARM64_ARM64EC 0
#elif defined(_M_ARM64) || defined(_M_ARM64EC)
#elif defined(_M_ARM64) || (defined(_M_ARM64EC) && !defined(_CALL_ALL_X64_VECTOR_ALGORITHMS_ON_ARM64EC))
#define _VECTORIZED_FOR_X64_X86 0
#define _VECTORIZED_FOR_X64_X86_ARM64_ARM64EC 1
#elif defined(_M_X64) || defined(_M_IX86)
Expand Down
1 change: 1 addition & 0 deletions tests/std/tests/VSO_0000000_vector_algorithms/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ RUNALL_INCLUDE ..\usual_matrix.lst
RUNALL_CROSSLIST
* PM_CL=""
* PM_CL="/D_USE_STD_VECTOR_ALGORITHMS=0"
* PM_CL="/D_CALL_ALL_X64_VECTOR_ALGORITHMS_ON_ARM64EC"
2 changes: 2 additions & 0 deletions tests/utils/stl/test/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,8 @@ def _parseFlags(self, litConfig):
self.requires.append('edg') # available for x64, see features.py
elif flag[1:] == 'arch:AVX2':
self.requires.append('arch_avx2') # available for x86 and x64, see features.py
elif flag[1:] == 'D_CALL_ALL_X64_VECTOR_ALGORITHMS_ON_ARM64EC':
Comment thread
StephanTLavavej marked this conversation as resolved.
self.requires.append('arm64ec')
elif flag[1:] == 'MDd':
self._addCustomFeature('MDd')
self._addCustomFeature('debug_CRT')
Expand Down