fix: icu-static-win, ext-swoole, krb5#1087
Conversation
|
run CI test please |
|
Just realized that macOS runners are still using Clang 17. Should really update to 19+ for vastly improved performance. |
I already introduced a env var to handle this on v3, it will automatically use homebrew version of llvm. Lines 137 to 138 in 7e2cfe2 |
| '-DWITH_SYSTEM_ZLIB=ON', | ||
| '-DWITH_TOOLS=OFF', | ||
| '-DWITH_TESTS=OFF', | ||
| '-DWITH_SIMD=OFF', |
There was a problem hiding this comment.
we have a variable for whether avx2/avx512 are enabled
There was a problem hiding this comment.
Found it:
$code = '#include <immintrin.h>
int main() { return _mm256_cvtsi256_si32(_mm256_setzero_si256()); }';
$cc = getenv('CC') ?: 'gcc';
[$ret] = shell()->execWithResult("printf '%s' '{$code}' | {$cc} -x c -mavx2 -o /dev/null - 2>&1");
$disableAvx2 = $ret !== 0 && GNU_ARCH === 'x86_64' && PHP_OS_FAMILY === 'Linux';
There was a problem hiding this comment.
It seems better to abstract it into a separate method on v3 and pass it using environment variables.
There was a problem hiding this comment.
We should do it like php-src. There's a --enable-native-intrinsics=level switch that defines what level will be chosen.
Levels are SSE2 (default on x86), SSE3...4.2, AVX2, AVX512. On aarch64 I forgot the names something like neonv8.
There was a problem hiding this comment.
We can create a separate issue tracking it though
What does this PR do?
Checklist before merging
*.phpor*.json, run them locally to ensure your changes are valid:composer cs-fixcomposer analysecomposer testbin/spc dev:sort-configsrc/globals/test-extensions.php.extension testortest extensionsto trigger full test suite.