Skip to content

Commit 310b619

Browse files
committed
Revert D137868 "[libc] Fix builtin definition for memory functions"
This reverts commit da5d00a. This caused -Wmacro-redefined ``` .../libc/src/string/memory_utils/op_x86.h:31:9: error: '_mm512_cmpneq_epi8_mask' macro redefined [-Werror,-Wmacro-redefined] ^ .../lib/clang/google3-trunk/include/avx512bwintrin.h:294:9: note: previous definition is here ^ ```
1 parent 3830e4e commit 310b619

File tree

3 files changed

+8
-15
lines changed

3 files changed

+8
-15
lines changed

libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
set(ALL_CPU_FEATURES "")
77

88
if(${LIBC_TARGET_ARCHITECTURE_IS_X86})
9-
set(ALL_CPU_FEATURES SSE2 SSE4_2 AVX2 AVX512F AVX512BW FMA)
9+
set(ALL_CPU_FEATURES SSE2 SSE4_2 AVX2 AVX512F FMA)
1010
set(LIBC_COMPILE_OPTIONS_NATIVE -march=native)
1111
elseif(${LIBC_TARGET_ARCHITECTURE_IS_AARCH64})
1212
set(LIBC_COMPILE_OPTIONS_NATIVE -mcpu=native)

libc/src/string/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ if(${LIBC_TARGET_ARCHITECTURE_IS_X86})
355355
add_bcmp(bcmp_x86_64_opt_sse2 COMPILE_OPTIONS -march=k8 REQUIRE SSE2)
356356
add_bcmp(bcmp_x86_64_opt_sse4 COMPILE_OPTIONS -march=nehalem REQUIRE SSE4_2)
357357
add_bcmp(bcmp_x86_64_opt_avx2 COMPILE_OPTIONS -march=haswell REQUIRE AVX2)
358-
add_bcmp(bcmp_x86_64_opt_avx512 COMPILE_OPTIONS -march=skylake-avx512 REQUIRE AVX512BW)
358+
add_bcmp(bcmp_x86_64_opt_avx512 COMPILE_OPTIONS -march=skylake-avx512 REQUIRE AVX512F)
359359
add_bcmp(bcmp_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})
360360
add_bcmp(bcmp)
361361
else()
@@ -409,7 +409,7 @@ if(${LIBC_TARGET_ARCHITECTURE_IS_X86})
409409
add_memcmp(memcmp_x86_64_opt_sse2 COMPILE_OPTIONS -march=k8 REQUIRE SSE2)
410410
add_memcmp(memcmp_x86_64_opt_sse4 COMPILE_OPTIONS -march=nehalem REQUIRE SSE4_2)
411411
add_memcmp(memcmp_x86_64_opt_avx2 COMPILE_OPTIONS -march=haswell REQUIRE AVX2)
412-
add_memcmp(memcmp_x86_64_opt_avx512 COMPILE_OPTIONS -march=skylake-avx512 REQUIRE AVX512BW)
412+
add_memcmp(memcmp_x86_64_opt_avx512 COMPILE_OPTIONS -march=skylake-avx512 REQUIRE AVX512F)
413413
add_memcmp(memcmp_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})
414414
add_memcmp(memcmp)
415415
elseif(${LIBC_TARGET_ARCHITECTURE_IS_AARCH64})

libc/src/string/memory_utils/op_x86.h

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,15 @@
2020
#include "src/string/memory_utils/op_builtin.h"
2121
#include "src/string/memory_utils/op_generic.h"
2222

23-
#if defined(__AVX512BW__) || defined(__AVX512F__) || defined(__AVX2__) || \
24-
defined(__SSE2__)
23+
#ifdef __SSE2__
2524
#include <immintrin.h>
26-
#endif
27-
25+
#else
2826
// Define fake functions to prevent the compiler from failing on undefined
29-
// functions in case the CPU extension is not present.
30-
#ifndef __AVX512BW__
27+
// functions in case SSE2 is not present.
3128
#define _mm512_cmpneq_epi8_mask(A, B) 0
32-
#endif
33-
#ifndef __AVX2__
34-
#define _mm256_movemask_epi8(A) 0
35-
#endif
36-
#ifndef __SSE2__
3729
#define _mm_movemask_epi8(A) 0
38-
#endif
30+
#define _mm256_movemask_epi8(A) 0
31+
#endif // __SSE2__
3932

4033
namespace __llvm_libc::x86 {
4134

0 commit comments

Comments
 (0)