1
1
# Lowering of SYCL ESIMD kernels depends on vc-intrinsics
2
2
# NOTE: could have been added earlier from llvm/projects
3
3
if (NOT TARGET LLVMGenXIntrinsics )
4
- if (NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR AND NOT LLVMGenXIntrinsics_INCLUDE_DIR )
5
- find_package (LLVMGenXIntrinsics QUIET )
6
- endif ()
4
+ find_package (LLVMGenXIntrinsics QUIET )
7
5
8
- if (NOT LLVMGenXIntrinsics_FOUND )
9
- if (NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR )
10
- find_path (LLVMGenXIntrinsics_INCLUDE_DIR GenXIntrinsics/include PATHS ${CMAKE_PREFIX_PATH} )
6
+ if (NOT LLVMGenXIntrinsics_FOUND )
7
+ set (LLVMGenXIntrinsics_GIT_REPO https://github.com/intel/vc-intrinsics.git )
11
8
12
- if (NOT LLVMGenXIntrinsics_INCLUDE_DIR )
13
- set (LLVMGenXIntrinsics_GIT_REPO https://github.com/intel/vc-intrinsics.git )
14
-
15
- # Date: May 29, 2025
16
- # Use OneNthEltsVecArgument instead of HalfVecArguments to fix build failure.
17
- set (LLVMGenXIntrinsics_GIT_TAG 60cea7590bd022d95f5cf336ee765033bd114d69 )
18
-
19
- message (STATUS "vc-intrinsics repo is missing. Will try to download it from ${LLVMGenXIntrinsics_GIT_REPO} " )
20
- include (FetchContent )
21
- FetchContent_Declare (vc-intrinsics
22
- GIT_REPOSITORY ${LLVMGenXIntrinsics_GIT_REPO}
23
- GIT_TAG ${LLVMGenXIntrinsics_GIT_TAG}
24
- )
25
- FetchContent_MakeAvailable (vc-intrinsics )
26
- FetchContent_GetProperties (vc-intrinsics )
27
-
28
- set (LLVMGenXIntrinsics_SOURCE_DIR ${vc-intrinsics_SOURCE_DIR} )
29
- set (LLVMGenXIntrinsics_BINARY_DIR ${vc-intrinsics_BINARY_DIR} )
30
- else ()
31
- message (STATUS "vc-intrinsics found in system at ${LLVMGenXIntrinsics_INCLUDE_DIR} " )
32
- set (LLVMGenXIntrinsics_SOURCE_DIR ${LLVMGenXIntrinsics_INCLUDE_DIR} /.. )
33
- set (LLVMGenXIntrinsics_BINARY_DIR ${CMAKE_BINARY_DIR} /vc-intrinsics-build )
34
- add_subdirectory (${LLVMGenXIntrinsics_SOURCE_DIR} ${LLVMGenXIntrinsics_BINARY_DIR} )
35
- endif ()
36
- else (NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR )
37
- # -DLLVMGenXIntrinsics_SOURCE_DIR is provided
38
- message (STATUS "vc-intrinsics are added manually ${LLVMGenXIntrinsics_SOURCE_DIR} " )
39
-
40
- set (LLVMGenXIntrinsics_BINARY_DIR ${CMAKE_BINARY_DIR} /vc-intrinsics-build )
41
- add_subdirectory (${LLVMGenXIntrinsics_SOURCE_DIR} ${LLVMGenXIntrinsics_BINARY_DIR} )
42
- endif (NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR )
43
- target_include_directories (LLVMGenXIntrinsics
44
- PUBLIC $< BUILD_INTERFACE:${LLVMGenXIntrinsics_SOURCE_DIR} /GenXIntrinsics/include>
45
- PUBLIC $< BUILD_INTERFACE:${LLVMGenXIntrinsics_BINARY_DIR} /GenXIntrinsics/include>
46
- )
47
- endif ()
9
+ # Date: May 29, 2025
10
+ # Use OneNthEltsVecArgument instead of HalfVecArguments to fix build failure.
11
+ set (LLVMGenXIntrinsics_GIT_TAG 60cea7590bd022d95f5cf336ee765033bd114d69 )
12
+ if (NOT FETCHCONTENT_SOURCE_DIR_VC-INTRINSICS )
13
+ message (STATUS "vc-intrinsics repo is missing. Will try to download "
14
+ "${LLVMGenXIntrinsics_GIT_TAG} from ${LLVMGenXIntrinsics_GIT_REPO} " )
15
+ endif ()
16
+ include (FetchContent )
17
+ FetchContent_Declare (vc-intrinsics
18
+ GIT_REPOSITORY ${LLVMGenXIntrinsics_GIT_REPO}
19
+ GIT_TAG ${LLVMGenXIntrinsics_GIT_TAG}
20
+ )
21
+ FetchContent_MakeAvailable (vc-intrinsics )
22
+ FetchContent_GetProperties (vc-intrinsics )
23
+ else ()
24
+ message (STATUS "vc-intrinsics found in system at ${LLVMGenXIntrinsics_DIR} " )
25
+ endif ()
48
26
endif (NOT TARGET LLVMGenXIntrinsics )
49
27
50
28
add_llvm_component_library (LLVMSYCLLowerIR
@@ -88,8 +66,6 @@ add_llvm_component_library(LLVMSYCLLowerIR
88
66
89
67
ADDITIONAL_HEADER_DIRS
90
68
${LLVM_MAIN_INCLUDE_DIR} /llvm/SYCLLowerIR
91
- ${LLVM_MAIN_SRC_DIR} /projects/vc-intrinsics/GenXIntrinsics/include
92
- ${LLVM_BINARY_DIR} /projects/vc-intrinsics/GenXIntrinsics/include
93
69
94
70
DEPENDS
95
71
intrinsics_gen
@@ -114,10 +90,6 @@ add_llvm_component_library(LLVMSYCLLowerIR
114
90
ipo
115
91
)
116
92
117
- target_include_directories (LLVMSYCLLowerIR
118
- PUBLIC $< BUILD_INTERFACE:${LLVMGenXIntrinsics_SOURCE_DIR} /GenXIntrinsics/include/>
119
- PUBLIC $< BUILD_INTERFACE:${LLVMGenXIntrinsics_BINARY_DIR} >
120
- )
121
93
target_link_libraries (LLVMSYCLLowerIR
122
94
PUBLIC LLVMGenXIntrinsics
123
95
)
0 commit comments