mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-08 01:15:37 +08:00
Merge branch 'main' into feat/pgo
This commit is contained in:
@@ -25,12 +25,16 @@ const DANGER_CMD = [
|
||||
// spc internal extensions
|
||||
const SPC_INTERNAL_EXTENSIONS = [
|
||||
'core',
|
||||
'date',
|
||||
'hash',
|
||||
'json',
|
||||
'lexbor',
|
||||
'pcre',
|
||||
'random',
|
||||
'reflection',
|
||||
'spl',
|
||||
'standard',
|
||||
'uri',
|
||||
];
|
||||
|
||||
// spc extension alias
|
||||
|
||||
91
src/globals/patch/spc_fix_avx512_cache_before_80400.patch
Normal file
91
src/globals/patch/spc_fix_avx512_cache_before_80400.patch
Normal file
@@ -0,0 +1,91 @@
|
||||
--- a/build/php.m4
|
||||
+++ b/build/php.m4
|
||||
@@ -2812,27 +2812,26 @@
|
||||
dnl PHP_CHECK_AVX512_SUPPORTS
|
||||
dnl
|
||||
AC_DEFUN([PHP_CHECK_AVX512_SUPPORTS], [
|
||||
- AC_MSG_CHECKING([for avx512 supports in compiler])
|
||||
- save_CFLAGS="$CFLAGS"
|
||||
- CFLAGS="-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw $CFLAGS"
|
||||
-
|
||||
- AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
- #include <immintrin.h>
|
||||
- int main(void) {
|
||||
- __m512i mask = _mm512_set1_epi32(0x1);
|
||||
- char out[32];
|
||||
- _mm512_storeu_si512(out, _mm512_shuffle_epi8(mask, mask));
|
||||
- return 0;
|
||||
- }]])], [
|
||||
+ AC_CACHE_CHECK([whether compiler supports AVX-512], [php_cv_have_avx512], [
|
||||
+ save_CFLAGS="$CFLAGS"
|
||||
+ CFLAGS="-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw $CFLAGS"
|
||||
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
+ #include <immintrin.h>
|
||||
+ int main(void) {
|
||||
+ __m512i mask = _mm512_set1_epi32(0x1);
|
||||
+ char out[32];
|
||||
+ _mm512_storeu_si512(out, _mm512_shuffle_epi8(mask, mask));
|
||||
+ return 0;
|
||||
+ }]])],
|
||||
+ [php_cv_have_avx512=yes],
|
||||
+ [php_cv_have_avx512=no])
|
||||
+ CFLAGS="$save_CFLAGS"
|
||||
+ ])
|
||||
+ if test "$php_cv_have_avx512" = "yes"; then
|
||||
have_avx512_supports=1
|
||||
- AC_MSG_RESULT([yes])
|
||||
- ], [
|
||||
+ else
|
||||
have_avx512_supports=0
|
||||
- AC_MSG_RESULT([no])
|
||||
- ])
|
||||
-
|
||||
- CFLAGS="$save_CFLAGS"
|
||||
-
|
||||
+ fi
|
||||
AC_DEFINE_UNQUOTED([PHP_HAVE_AVX512_SUPPORTS],
|
||||
[$have_avx512_supports], [Whether the compiler supports AVX512])
|
||||
])
|
||||
@@ -2841,24 +2840,26 @@
|
||||
dnl PHP_CHECK_AVX512_VBMI_SUPPORTS
|
||||
dnl
|
||||
AC_DEFUN([PHP_CHECK_AVX512_VBMI_SUPPORTS], [
|
||||
- AC_MSG_CHECKING([for avx512 vbmi supports in compiler])
|
||||
- save_CFLAGS="$CFLAGS"
|
||||
- CFLAGS="-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw -mavx512vbmi $CFLAGS"
|
||||
- AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
- #include <immintrin.h>
|
||||
- int main(void) {
|
||||
- __m512i mask = _mm512_set1_epi32(0x1);
|
||||
- char out[32];
|
||||
- _mm512_storeu_si512(out, _mm512_permutexvar_epi8(mask, mask));
|
||||
- return 0;
|
||||
- }]])], [
|
||||
+ AC_CACHE_CHECK([whether compiler supports AVX-512 VBMI], [php_cv_have_avx512vbmi], [
|
||||
+ save_CFLAGS="$CFLAGS"
|
||||
+ CFLAGS="-mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw -mavx512vbmi $CFLAGS"
|
||||
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
+ #include <immintrin.h>
|
||||
+ int main(void) {
|
||||
+ __m512i mask = _mm512_set1_epi32(0x1);
|
||||
+ char out[32];
|
||||
+ _mm512_storeu_si512(out, _mm512_permutexvar_epi8(mask, mask));
|
||||
+ return 0;
|
||||
+ }]])],
|
||||
+ [php_cv_have_avx512vbmi=yes],
|
||||
+ [php_cv_have_avx512vbmi=no])
|
||||
+ CFLAGS="$save_CFLAGS"
|
||||
+ ])
|
||||
+ if test "$php_cv_have_avx512vbmi" = "yes"; then
|
||||
have_avx512_vbmi_supports=1
|
||||
- AC_MSG_RESULT([yes])
|
||||
- ], [
|
||||
+ else
|
||||
have_avx512_vbmi_supports=0
|
||||
- AC_MSG_RESULT([no])
|
||||
- ])
|
||||
- CFLAGS="$save_CFLAGS"
|
||||
+ fi
|
||||
AC_DEFINE_UNQUOTED([PHP_HAVE_AVX512_VBMI_SUPPORTS],
|
||||
[$have_avx512_vbmi_supports], [Whether the compiler supports AVX512 VBMI])
|
||||
])
|
||||
@@ -14,7 +14,7 @@ declare(strict_types=1);
|
||||
// test php version (8.1 ~ 8.4 available, multiple for matrix)
|
||||
$test_php_version = [
|
||||
// '8.1',
|
||||
// '8.2',
|
||||
'8.2',
|
||||
// '8.3',
|
||||
// '8.4',
|
||||
'8.5',
|
||||
@@ -26,9 +26,9 @@ $test_os = [
|
||||
// 'macos-15-intel', // bin/spc for x86_64
|
||||
'macos-15', // bin/spc for arm64
|
||||
// 'ubuntu-latest', // bin/spc-alpine-docker for x86_64
|
||||
'ubuntu-22.04', // bin/spc-gnu-docker for x86_64
|
||||
// 'ubuntu-22.04', // bin/spc-gnu-docker for x86_64
|
||||
// 'ubuntu-24.04', // bin/spc for x86_64
|
||||
'ubuntu-22.04-arm', // bin/spc-gnu-docker for arm64
|
||||
// 'ubuntu-22.04-arm', // bin/spc-gnu-docker for arm64
|
||||
// 'ubuntu-24.04-arm', // bin/spc for arm64
|
||||
// 'windows-2022', // .\bin\spc.ps1
|
||||
// 'windows-2025',
|
||||
@@ -50,13 +50,13 @@ $prefer_pre_built = true;
|
||||
|
||||
// If you want to test your added extensions and libs, add below (comma separated, example `bcmath,openssl`).
|
||||
$extensions = match (PHP_OS_FAMILY) {
|
||||
'Linux', 'Darwin' => 'openssl,brotli',
|
||||
'Linux', 'Darwin' => 'swoole,mongodb',
|
||||
'Windows' => 'bcmath,brotli,bz2,ctype,curl,dom,exif,fileinfo,filter,ftp,gd,iconv,intl,mbregex,mbstring,mysqli,mysqlnd,opcache,openssl,pdo,pdo_mysql,pdo_pgsql,pgsql,session,simdjson,simplexml,sodium,sqlite3,tokenizer,xml,xmlreader,xmlwriter,zip,zlib',
|
||||
};
|
||||
|
||||
// If you want to test shared extensions, add them below (comma separated, example `bcmath,openssl`).
|
||||
$shared_extensions = match (PHP_OS_FAMILY) {
|
||||
'Linux' => 'zstd',
|
||||
'Linux' => '',
|
||||
'Darwin' => '',
|
||||
'Windows' => '',
|
||||
};
|
||||
@@ -66,7 +66,7 @@ $with_suggested_libs = true;
|
||||
|
||||
// If you want to test extra libs for extensions, add them below (comma separated, example `libwebp,libavif`). Unnecessary, when $with_suggested_libs is true.
|
||||
$with_libs = match (PHP_OS_FAMILY) {
|
||||
'Linux', 'Darwin' => 'krb5',
|
||||
'Linux', 'Darwin' => '',
|
||||
'Windows' => '',
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user