2008-10-26 08:56:18 +08:00
|
|
|
set(files
|
2014-09-19 18:17:06 +08:00
|
|
|
adxintrin.h
|
2010-04-14 11:54:58 +08:00
|
|
|
altivec.h
|
2012-05-30 03:36:17 +08:00
|
|
|
ammintrin.h
|
2014-06-28 05:25:42 +08:00
|
|
|
arm_acle.h
|
2016-08-07 01:58:24 +08:00
|
|
|
armintr.h
|
2017-07-26 13:29:40 +08:00
|
|
|
arm64intr.h
|
2011-12-19 13:04:33 +08:00
|
|
|
avx2intrin.h
|
2014-10-09 01:37:51 +08:00
|
|
|
avx512bwintrin.h
|
2017-12-27 18:01:00 +08:00
|
|
|
avx512bitalgintrin.h
|
|
|
|
avx512vlbitalgintrin.h
|
2015-06-29 20:51:53 +08:00
|
|
|
avx512cdintrin.h
|
2017-05-25 21:44:11 +08:00
|
|
|
avx512vpopcntdqintrin.h
|
2016-05-20 09:07:10 +08:00
|
|
|
avx512dqintrin.h
|
2014-07-22 20:08:25 +08:00
|
|
|
avx512erintrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
avx512fintrin.h
|
2016-05-20 09:07:10 +08:00
|
|
|
avx512ifmaintrin.h
|
|
|
|
avx512ifmavlintrin.h
|
2016-04-21 20:47:27 +08:00
|
|
|
avx512pfintrin.h
|
2016-05-20 09:07:10 +08:00
|
|
|
avx512vbmiintrin.h
|
|
|
|
avx512vbmivlintrin.h
|
[x86][icelake][vbmi2]
added vbmi2 feature recognition
added intrinsics support for vbmi2 instructions
_mm[128,256,512]_mask[z]_compress_epi[16,32]
_mm[128,256,512]_mask_compressstoreu_epi[16,32]
_mm[128,256,512]_mask[z]_expand_epi[16,32]
_mm[128,256,512]_mask[z]_expandloadu_epi[16,32]
_mm[128,256,512]_mask[z]_sh[l,r]di_epi[16,32,64]
_mm[128,256,512]_mask_sh[l,r]dv_epi[16,32,64]
matching a similar work on the backend (D40206)
Differential Revision: https://reviews.llvm.org/D41557
llvm-svn: 321487
2017-12-27 19:25:07 +08:00
|
|
|
avx512vbmi2intrin.h
|
|
|
|
avx512vlvbmi2intrin.h
|
2014-10-09 01:37:51 +08:00
|
|
|
avx512vlbwintrin.h
|
2016-04-27 19:43:14 +08:00
|
|
|
avx512vlcdintrin.h
|
2015-04-30 17:24:29 +08:00
|
|
|
avx512vldqintrin.h
|
2016-05-20 09:07:10 +08:00
|
|
|
avx512vlintrin.h
|
2017-12-16 14:02:31 +08:00
|
|
|
avx512vpopcntdqvlintrin.h
|
2017-12-27 18:37:51 +08:00
|
|
|
avx512vnniintrin.h
|
|
|
|
avx512vlvnniintrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
avxintrin.h
|
2011-12-26 11:20:06 +08:00
|
|
|
bmi2intrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
bmiintrin.h
|
2016-10-09 06:16:08 +08:00
|
|
|
__clang_cuda_builtin_vars.h
|
2016-01-27 07:37:29 +08:00
|
|
|
__clang_cuda_cmath.h
|
2016-10-12 01:36:03 +08:00
|
|
|
__clang_cuda_complex_builtins.h
|
2018-01-30 08:00:12 +08:00
|
|
|
__clang_cuda_device_functions.h
|
2016-05-20 06:49:13 +08:00
|
|
|
__clang_cuda_intrinsics.h
|
2018-01-30 08:00:12 +08:00
|
|
|
__clang_cuda_libdevice_declares.h
|
2016-03-31 07:30:14 +08:00
|
|
|
__clang_cuda_math_forward_declares.h
|
2015-12-17 02:51:59 +08:00
|
|
|
__clang_cuda_runtime_wrapper.h
|
2017-11-26 20:34:54 +08:00
|
|
|
cetintrin.h
|
2018-04-13 15:37:24 +08:00
|
|
|
cldemoteintrin.h
|
2017-02-09 14:10:14 +08:00
|
|
|
clzerointrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
cpuid.h
|
2016-07-05 23:56:03 +08:00
|
|
|
clflushoptintrin.h
|
2017-10-13 02:57:15 +08:00
|
|
|
clwbintrin.h
|
2011-02-27 21:33:31 +08:00
|
|
|
emmintrin.h
|
2012-10-11 09:10:04 +08:00
|
|
|
f16cintrin.h
|
2011-02-27 21:33:31 +08:00
|
|
|
float.h
|
2011-12-30 18:38:16 +08:00
|
|
|
fma4intrin.h
|
2012-06-04 11:42:47 +08:00
|
|
|
fmaintrin.h
|
2015-06-30 17:45:38 +08:00
|
|
|
fxsrintrin.h
|
2017-12-27 16:37:47 +08:00
|
|
|
gfniintrin.h
|
2015-04-01 22:15:35 +08:00
|
|
|
htmintrin.h
|
|
|
|
htmxlintrin.h
|
2014-03-04 14:28:23 +08:00
|
|
|
ia32intrin.h
|
2010-08-21 02:04:07 +08:00
|
|
|
immintrin.h
|
2016-06-15 04:14:24 +08:00
|
|
|
intrin.h
|
2015-06-26 08:19:32 +08:00
|
|
|
inttypes.h
|
2018-05-25 14:34:42 +08:00
|
|
|
invpcidintrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
iso646.h
|
2011-02-27 21:33:31 +08:00
|
|
|
limits.h
|
2017-05-08 20:09:45 +08:00
|
|
|
lwpintrin.h
|
2011-12-25 20:47:46 +08:00
|
|
|
lzcntintrin.h
|
2011-04-15 23:11:21 +08:00
|
|
|
mm3dnow.h
|
2011-02-27 21:33:31 +08:00
|
|
|
mmintrin.h
|
|
|
|
mm_malloc.h
|
2014-10-15 07:15:43 +08:00
|
|
|
module.modulemap
|
2018-05-01 18:05:42 +08:00
|
|
|
movdirintrin.h
|
2016-09-20 23:07:36 +08:00
|
|
|
msa.h
|
2016-05-20 09:07:10 +08:00
|
|
|
mwaitxintrin.h
|
2011-02-27 21:33:31 +08:00
|
|
|
nmmintrin.h
|
2016-05-30 10:22:28 +08:00
|
|
|
opencl-c.h
|
2016-05-20 09:07:10 +08:00
|
|
|
pkuintrin.h
|
2011-02-27 21:33:31 +08:00
|
|
|
pmmintrin.h
|
2018-05-08 14:49:41 +08:00
|
|
|
pconfigintrin.h
|
2011-12-30 05:42:29 +08:00
|
|
|
popcntintrin.h
|
2013-03-27 01:52:08 +08:00
|
|
|
prfchwintrin.h
|
2018-05-10 15:28:54 +08:00
|
|
|
ptwriteintrin.h
|
2013-03-29 13:17:55 +08:00
|
|
|
rdseedintrin.h
|
2012-11-10 13:17:46 +08:00
|
|
|
rtmintrin.h
|
2018-05-08 15:12:34 +08:00
|
|
|
sgxintrin.h
|
2015-04-01 22:15:35 +08:00
|
|
|
s390intrin.h
|
2013-09-19 21:22:04 +08:00
|
|
|
shaintrin.h
|
2010-08-21 01:24:02 +08:00
|
|
|
smmintrin.h
|
2011-09-30 02:04:28 +08:00
|
|
|
stdalign.h
|
2011-02-27 21:33:31 +08:00
|
|
|
stdarg.h
|
Add an implementation of C11's stdatomic.h
Adds a Clang-specific implementation of C11's stdatomic.h header. On systems,
such as FreeBSD, where a stdatomic.h header is already provided, we defer to
that header instead (using our __has_include_next technology). Otherwise, we
provide an implementation in terms of our __c11_atomic_* intrinsics (that were
created for this purpose).
C11 7.1.4p1 requires function declarations for atomic_thread_fence,
atomic_signal_fence, atomic_flag_test_and_set,
atomic_flag_test_and_set_explicit, and atomic_flag_clear, and requires that
they have external linkage. Accordingly, we provide these declarations, but if
a user elides the shadowing macros and uses them, then they must have a libc
(or similar) that actually provides definitions.
atomic_flag is implemented using _Bool as the underlying type. This is
consistent with the implementation provided by FreeBSD and also GCC 4.9 (at
least when __GCC_ATOMIC_TEST_AND_SET_TRUEVAL == 1).
Patch by Richard Smith (rebased and slightly edited by me -- Richard said I
should drive at this point).
llvm-svn: 218957
2014-10-03 12:29:40 +08:00
|
|
|
stdatomic.h
|
2011-02-27 21:33:31 +08:00
|
|
|
stdbool.h
|
|
|
|
stddef.h
|
2014-10-03 08:31:35 +08:00
|
|
|
__stddef_max_align_t.h
|
2011-02-27 21:33:31 +08:00
|
|
|
stdint.h
|
2013-01-18 06:16:11 +08:00
|
|
|
stdnoreturn.h
|
2013-10-01 01:25:14 +08:00
|
|
|
tbmintrin.h
|
2009-06-07 15:09:23 +08:00
|
|
|
tgmath.h
|
|
|
|
tmmintrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
unwind.h
|
2014-10-15 06:35:42 +08:00
|
|
|
vadefs.h
|
2017-12-27 16:16:54 +08:00
|
|
|
vaesintrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
varargs.h
|
2015-07-30 22:10:43 +08:00
|
|
|
vecintrin.h
|
2017-12-27 17:00:31 +08:00
|
|
|
vpclmulqdqintrin.h
|
2018-04-21 02:44:33 +08:00
|
|
|
waitpkgintrin.h
|
2018-04-12 04:09:09 +08:00
|
|
|
wbnoinvdintrin.h
|
2014-10-15 07:15:43 +08:00
|
|
|
wmmintrin.h
|
2016-05-20 09:07:10 +08:00
|
|
|
__wmmintrin_aes.h
|
2012-11-06 07:30:26 +08:00
|
|
|
__wmmintrin_pclmul.h
|
2011-02-27 21:33:31 +08:00
|
|
|
x86intrin.h
|
|
|
|
xmmintrin.h
|
2012-06-10 08:39:38 +08:00
|
|
|
xopintrin.h
|
2016-05-20 09:07:10 +08:00
|
|
|
xsavecintrin.h
|
2015-10-13 20:29:35 +08:00
|
|
|
xsaveintrin.h
|
|
|
|
xsaveoptintrin.h
|
|
|
|
xsavesintrin.h
|
2015-06-18 02:42:07 +08:00
|
|
|
xtestintrin.h
|
2011-02-27 21:33:31 +08:00
|
|
|
)
|
2008-10-26 08:56:18 +08:00
|
|
|
|
2016-10-12 01:36:03 +08:00
|
|
|
set(cuda_wrapper_files
|
|
|
|
cuda_wrappers/algorithm
|
|
|
|
cuda_wrappers/complex
|
2016-10-27 06:13:26 +08:00
|
|
|
cuda_wrappers/new
|
2016-10-12 01:36:03 +08:00
|
|
|
)
|
|
|
|
|
2014-01-19 21:00:01 +08:00
|
|
|
set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
|
2009-06-17 04:13:51 +08:00
|
|
|
|
2010-05-28 12:22:06 +08:00
|
|
|
# Generate arm_neon.h
|
2013-12-21 09:56:00 +08:00
|
|
|
clang_tablegen(arm_neon.h -gen-arm-neon
|
2018-01-20 07:11:18 +08:00
|
|
|
-I ${CLANG_SOURCE_DIR}/include/clang/Basic/
|
2011-02-21 06:06:32 +08:00
|
|
|
SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td)
|
2018-01-20 07:11:18 +08:00
|
|
|
# Generate arm_fp16.h
|
|
|
|
clang_tablegen(arm_fp16.h -gen-arm-fp16
|
|
|
|
-I ${CLANG_SOURCE_DIR}/include/clang/Basic/
|
|
|
|
SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_fp16.td)
|
2010-05-28 12:22:06 +08:00
|
|
|
|
2010-10-12 07:17:59 +08:00
|
|
|
set(out_files)
|
2016-10-12 01:36:03 +08:00
|
|
|
foreach( f ${files} ${cuda_wrapper_files} )
|
2008-10-26 08:56:18 +08:00
|
|
|
set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
|
|
|
|
set( dst ${output_dir}/${f} )
|
|
|
|
add_custom_command(OUTPUT ${dst}
|
|
|
|
DEPENDS ${src}
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
|
|
|
COMMENT "Copying clang's ${f}...")
|
2010-10-12 07:17:59 +08:00
|
|
|
list(APPEND out_files ${dst})
|
2008-10-26 08:56:18 +08:00
|
|
|
endforeach( f )
|
|
|
|
|
2018-12-03 18:34:25 +08:00
|
|
|
add_custom_command(OUTPUT ${output_dir}/arm_neon.h
|
2013-12-21 09:56:00 +08:00
|
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${output_dir}/arm_neon.h
|
2010-10-12 07:17:59 +08:00
|
|
|
COMMENT "Copying clang's arm_neon.h...")
|
|
|
|
list(APPEND out_files ${output_dir}/arm_neon.h)
|
2018-01-20 07:11:18 +08:00
|
|
|
add_custom_command(OUTPUT ${output_dir}/arm_fp16.h
|
|
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_fp16.h
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_fp16.h ${output_dir}/arm_fp16.h
|
|
|
|
COMMENT "Copying clang's arm_fp16.h...")
|
|
|
|
list(APPEND out_files ${output_dir}/arm_fp16.h)
|
2010-10-12 07:17:59 +08:00
|
|
|
|
|
|
|
add_custom_target(clang-headers ALL DEPENDS ${out_files})
|
2018-12-03 18:34:25 +08:00
|
|
|
set_target_properties(clang-headers PROPERTIES
|
|
|
|
FOLDER "Misc"
|
|
|
|
RUNTIME_OUTPUT_DIRECTORY "${output_dir}")
|
2008-10-26 08:56:18 +08:00
|
|
|
|
2013-12-21 09:56:00 +08:00
|
|
|
install(
|
|
|
|
FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
|
2015-11-20 10:24:03 +08:00
|
|
|
COMPONENT clang-headers
|
2008-10-26 08:56:18 +08:00
|
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
2009-10-28 05:15:21 +08:00
|
|
|
DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
|
2015-11-20 10:24:03 +08:00
|
|
|
|
2018-01-20 07:11:18 +08:00
|
|
|
install(
|
|
|
|
FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_fp16.h
|
|
|
|
COMPONENT clang-headers
|
|
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
|
|
DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
|
|
|
|
|
2016-10-12 01:36:03 +08:00
|
|
|
install(
|
|
|
|
FILES ${cuda_wrapper_files}
|
|
|
|
COMPONENT clang-headers
|
|
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
|
|
DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
|
|
|
|
|
2015-11-20 10:24:03 +08:00
|
|
|
if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
|
2017-12-01 06:35:02 +08:00
|
|
|
add_llvm_install_targets(install-clang-headers
|
|
|
|
DEPENDS clang-headers
|
|
|
|
COMPONENT clang-headers)
|
2015-11-20 10:24:03 +08:00
|
|
|
endif()
|