brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · ea1c932 Raw
152 lines · plain
1function(add_bcmp bcmp_name)2  add_implementation(bcmp ${bcmp_name}3    SRCS ${LIBC_SOURCE_DIR}/src/strings/bcmp.cpp4    HDRS ${LIBC_SOURCE_DIR}/src/strings/bcmp.h5    DEPENDS6      libc.src.string.memory_utils.memory_utils7    ${ARGN}8  )9endfunction()10 11if(${LIBC_TARGET_ARCHITECTURE_IS_X86_64})12  add_bcmp(bcmp_x86_64_opt_sse2   COMPILE_OPTIONS -march=k8             REQUIRE SSE2)13  add_bcmp(bcmp_x86_64_opt_sse4   COMPILE_OPTIONS -march=nehalem        REQUIRE SSE4_2)14  add_bcmp(bcmp_x86_64_opt_avx2   COMPILE_OPTIONS -march=haswell        REQUIRE AVX2)15  add_bcmp(bcmp_x86_64_opt_avx512 COMPILE_OPTIONS -march=skylake-avx512 REQUIRE AVX512BW)16  add_bcmp(bcmp_opt_host          COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})17  add_bcmp(bcmp)18elseif(LIBC_TARGET_OS_IS_GPU)19  add_bcmp(bcmp)20else()21  add_bcmp(bcmp_opt_host          COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})22  add_bcmp(bcmp)23endif()24 25function(add_bzero bzero_name)26  add_implementation(bzero ${bzero_name}27    SRCS ${LIBC_SOURCE_DIR}/src/strings/bzero.cpp28    HDRS ${LIBC_SOURCE_DIR}/src/strings/bzero.h29    DEPENDS30      libc.src.string.memory_utils.inline_memset31    ${ARGN}32  )33endfunction()34 35if(${LIBC_TARGET_ARCHITECTURE_IS_X86_64})36  add_bzero(bzero_x86_64_opt_sse2   COMPILE_OPTIONS -march=k8             REQUIRE SSE2)37  add_bzero(bzero_x86_64_opt_sse4   COMPILE_OPTIONS -march=nehalem        REQUIRE SSE4_2)38  add_bzero(bzero_x86_64_opt_avx2   COMPILE_OPTIONS -march=haswell        REQUIRE AVX2)39  add_bzero(bzero_x86_64_opt_avx512 COMPILE_OPTIONS -march=skylake-avx512 REQUIRE AVX512F)40  add_bzero(bzero_opt_host          COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})41  add_bzero(bzero)42elseif(LIBC_TARGET_OS_IS_GPU)43  add_bzero(bzero)44else()45  add_bzero(bzero_opt_host          COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})46  add_bzero(bzero)47endif()48 49add_entrypoint_object(50  bcopy51  SRCS52    bcopy.cpp53  HDRS54    bcopy.h55)56 57add_entrypoint_object(58  ffs59  SRCS60    ffs.cpp61  HDRS62    ffs.h63  DEPENDS64    libc.src.__support.math_extras65)66 67add_entrypoint_object(68  ffsl69  SRCS70    ffsl.cpp71  HDRS72    ffsl.h73  DEPENDS74    libc.src.__support.math_extras75)76 77add_entrypoint_object(78  ffsll79  SRCS80    ffsll.cpp81  HDRS82    ffsll.h83  DEPENDS84    libc.src.__support.math_extras85)86 87add_entrypoint_object(88  index89  SRCS90    index.cpp91  HDRS92    index.h93  DEPENDS94    libc.src.string.string_utils95)96 97add_entrypoint_object(98  rindex99  SRCS100    rindex.cpp101  HDRS102    rindex.h103  DEPENDS104    libc.src.string.string_utils105)106 107add_entrypoint_object(108  strcasecmp109  SRCS110    strcasecmp.cpp111  HDRS112    strcasecmp.h113  DEPENDS114    libc.src.__support.ctype_utils115    libc.src.string.memory_utils.inline_strcmp116)117 118add_entrypoint_object(119  strcasecmp_l120  SRCS121    strcasecmp_l.cpp122  HDRS123    strcasecmp_l.h124  DEPENDS125    libc.hdr.types.locale_t126    libc.src.__support.ctype_utils127    libc.src.string.memory_utils.inline_strcmp128)129 130add_entrypoint_object(131  strncasecmp132  SRCS133    strncasecmp.cpp134  HDRS135    strncasecmp.h136  DEPENDS137    libc.src.__support.ctype_utils138    libc.src.string.memory_utils.inline_strcmp139)140 141add_entrypoint_object(142  strncasecmp_l143  SRCS144    strncasecmp_l.cpp145  HDRS146    strncasecmp_l.h147  DEPENDS148    libc.hdr.types.locale_t149    libc.src.__support.ctype_utils150    libc.src.string.memory_utils.inline_strcmp151)152