From 655becd90b218ac6ddf2054fd22167d600fd8826 Mon Sep 17 00:00:00 2001 From: Andreas Beckmann Date: Sat, 9 Apr 2022 16:30:15 +0200 Subject: [PATCH] [PATCH 1013/1017] allow overriding kernellib_name for distro builds with POCL_KERNELLIB_NAME the kernellib_name (and corresponding llvm_cpu) can be overridden to a target with a subset of the features supported by the current cpu this will allow running e.g. code generation and tests for sse2 (but no newer features) on a modern cpu Gbp-Pq: Name 1013-allow-overriding-kernellib_name-for-distro-builds-wi.patch --- lib/CL/pocl_llvm_utils.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/CL/pocl_llvm_utils.cc b/lib/CL/pocl_llvm_utils.cc index 8274d98..56abfb0 100644 --- a/lib/CL/pocl_llvm_utils.cc +++ b/lib/CL/pocl_llvm_utils.cc @@ -193,6 +193,8 @@ const char *pocl_get_distro_kernellib_name() { if (!llvm::sys::getHostCPUFeatures(Features)) POCL_ABORT("LLVM can't get host CPU flags!\n"); + const char *custom = pocl_get_string_option("POCL_KERNELLIB_NAME", NULL); + const kernellib_features *best_match = NULL; for (const kernellib_features *kf = kernellib_feature_map; kf->kernellib_name; ++kf) { @@ -201,6 +203,8 @@ const char *pocl_get_distro_kernellib_name() { matches &= Features[*f]; if (matches) { best_match = kf; + if (custom && !strcmp(custom, kf->kernellib_name)) + break; } } -- 2.30.2