diff --git a/opencl/source/built_ins/kernels/CMakeLists.txt b/opencl/source/built_ins/kernels/CMakeLists.txt index 514e2ab9e9..8ec31d3b58 100644 --- a/opencl/source/built_ins/kernels/CMakeLists.txt +++ b/opencl/source/built_ins/kernels/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2021 Intel Corporation +# Copyright (C) 2018-2022 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -12,12 +12,6 @@ add_subdirectories() set(GENERATED_BUILTINS ${GENERATED_BUILTINS} PARENT_SCOPE) set(GENERATED_BUILTINS_STATELESS ${GENERATED_BUILTINS_STATELESS} PARENT_SCOPE) -if("${NEO_ARCH}" STREQUAL "x32") - set(BUILTIN_OPTIONS "-cl-intel-greater-than-4GB-buffer-required") -else() - set(BUILTIN_OPTIONS "") -endif() - set(BUILTIN_OPTIONS_STATELESS "-cl-intel-greater-than-4GB-buffer-required" ) @@ -38,6 +32,16 @@ function(get_bits_for_stateless core_type platform_type) endif() endfunction() +function(get_builtin_options core_type neo_arch) + if("${neo_arch}" STREQUAL "x32") + set(BUILTIN_OPTIONS "-cl-intel-greater-than-4GB-buffer-required" PARENT_SCOPE) + elseif("${core_type}" STREQUAL "XE_HPC_CORE") + set(BUILTIN_OPTIONS "" PARENT_SCOPE) + else() + set(BUILTIN_OPTIONS "-force_stos_opt" PARENT_SCOPE) + endif() +endfunction() + # Define function for compiling built-ins (with ocloc) function(compile_builtin core_type platform_type builtin bits builtin_options) string(TOLOWER ${core_type} core_type_lower) @@ -107,6 +111,7 @@ macro(macro_for_each_core_type) endif() endforeach() get_bits_for_stateless(${CORE_TYPE} ${PLATFORM_TYPE}) + get_builtin_options(${CORE_TYPE} ${NEO_ARCH}) foreach(GENERATED_BUILTIN_STATELESS ${GENERATED_BUILTINS_STATELESS}) compile_builtin(${CORE_TYPE} ${PLATFORM_TYPE} ${GENERATED_BUILTIN_STATELESS}.builtin_kernel ${BITS} "${BUILTIN_OPTIONS_STATELESS}") if(NOT ${BUILTIN_CPP} STREQUAL "") diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt index 5dd44edd8b..76d0f0a35b 100644 --- a/shared/source/built_ins/kernels/CMakeLists.txt +++ b/shared/source/built_ins/kernels/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2021 Intel Corporation +# Copyright (C) 2018-2022 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -15,12 +15,6 @@ set(GENERATED_BUILTINS_AUX_TRANSLATION ${GENERATED_BUILTINS_AUX_TRANSLATION} PAR set(GENERATED_BUILTINS_IMAGES ${GENERATED_BUILTINS_IMAGES} PARENT_SCOPE) set(GENERATED_BUILTINS_STATELESS ${GENERATED_BUILTINS_STATELESS} PARENT_SCOPE) -if("${NEO_ARCH}" STREQUAL "x32") - set(BUILTIN_OPTIONS "-cl-intel-greater-than-4GB-buffer-required") -else() - set(BUILTIN_OPTIONS "") -endif() - set(BUILTIN_OPTIONS_STATELESS "-cl-intel-greater-than-4GB-buffer-required" ) @@ -49,6 +43,16 @@ function(get_bits_for_stateless core_type platform_type) endif() endfunction() +function(get_builtin_options core_type neo_arch) + if("${neo_arch}" STREQUAL "x32") + set(BUILTIN_OPTIONS "-cl-intel-greater-than-4GB-buffer-required" PARENT_SCOPE) + elseif("${core_type}" STREQUAL "XE_HPC_CORE") + set(BUILTIN_OPTIONS "" PARENT_SCOPE) + else() + set(BUILTIN_OPTIONS "-force_stos_opt" PARENT_SCOPE) + endif() +endfunction() + # Define function for compiling built-ins (with ocloc) function(compile_builtin core_type platform_type builtin bits builtin_options mode) string(TOLOWER ${core_type} core_type_lower) @@ -179,6 +183,7 @@ macro(macro_for_each_core_type) get_family_name_with_type(${CORE_TYPE} ${PLATFORM_TYPE}) string(TOLOWER ${PLATFORM_TYPE} PLATFORM_TYPE_LOWER) get_bits_for_stateless(${CORE_TYPE} ${PLATFORM_TYPE}) + get_builtin_options(${CORE_TYPE} ${NEO_ARCH}) set(target_name builtins_${family_name_with_type}) add_custom_target(${target_name}) add_dependencies(builtins ${target_name})