explicitly disable avx512 if zig and march not high enough

This commit is contained in:
henderkes
2025-09-30 14:00:13 +02:00
parent f7744188f4
commit 2d1a61d184
3 changed files with 16 additions and 17 deletions

View File

@@ -9,6 +9,8 @@ use SPC\exception\PatchException;
use SPC\exception\WrongUsageException;
use SPC\store\FileSystem;
use SPC\store\SourcePatcher;
use SPC\toolchain\ToolchainManager;
use SPC\toolchain\ZigToolchain;
use SPC\util\GlobalEnvManager;
use SPC\util\SPCConfigUtil;
use SPC\util\SPCTarget;
@@ -103,6 +105,11 @@ class LinuxBuilder extends UnixBuilderBase
);
}
$has_avx512 = str_contains($this->arch_c_flags, '-mavx512') ||
str_contains($this->arch_c_flags, '-march=x86-64-v3') ||
str_contains($this->arch_c_flags, '-march=x86-64-v4') ||
ToolchainManager::getToolchainClass() !== ZigToolchain::class;
$this->seekPhpSrcLogFileOnException(fn () => shell()->cd(SOURCE_PATH . '/php-src')->exec(
$php_configure_env . ' ' .
getenv('SPC_CMD_PREFIX_PHP_CONFIGURE') . ' ' .
@@ -116,6 +123,7 @@ class LinuxBuilder extends UnixBuilderBase
$json_74 .
$zts .
$maxExecutionTimers .
(!$has_avx512 ? 'php_cv_have_avx512=no ' : '') .
$this->makeStaticExtensionArgs() . ' '
));