Skip to content

Commit 51f3c5b

Browse files
authored
Merge branch 'postgres:master' into main
2 parents 49bf025 + c1c0900 commit 51f3c5b

File tree

623 files changed

+21601
-8598
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

623 files changed

+21601
-8598
lines changed

.cirrus.tasks.yml

+1-5
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ task:
175175
--buildtype=debug \
176176
-Dcassert=true -Dinjection_points=true \
177177
-Duuid=bsd -Dtcl_version=tcl86 -Ddtrace=auto \
178-
-DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
179178
-Dextra_lib_dirs=/usr/local/lib -Dextra_include_dirs=/usr/local/include/ \
180179
build
181180
EOF
@@ -364,7 +363,6 @@ task:
364363
--buildtype=debug \
365364
-Dcassert=true -Dinjection_points=true \
366365
${LINUX_MESON_FEATURES} \
367-
-DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
368366
build
369367
EOF
370368
@@ -380,7 +378,6 @@ task:
380378
-Dllvm=disabled \
381379
--pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \
382380
-DPERL=perl5.36-i386-linux-gnu \
383-
-DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
384381
build-32
385382
EOF
386383
@@ -502,7 +499,6 @@ task:
502499
-Dextra_lib_dirs=/opt/local/lib \
503500
-Dcassert=true -Dinjection_points=true \
504501
-Duuid=e2fs -Ddtrace=auto \
505-
-DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
506502
build
507503
508504
build_script: ninja -C build -j${BUILD_JOBS}
@@ -574,7 +570,7 @@ task:
574570
# Use /DEBUG:FASTLINK to avoid high memory usage during linking
575571
configure_script: |
576572
vcvarsall x64
577-
meson setup --backend ninja --buildtype debug -Dc_link_args=/DEBUG:FASTLINK -Dcassert=true -Dinjection_points=true -Db_pch=true -Dextra_lib_dirs=c:\openssl\1.1\lib -Dextra_include_dirs=c:\openssl\1.1\include -DTAR=%TAR% -DPG_TEST_EXTRA="%PG_TEST_EXTRA%" build
573+
meson setup --backend ninja --buildtype debug -Dc_link_args=/DEBUG:FASTLINK -Dcassert=true -Dinjection_points=true -Db_pch=true -Dextra_lib_dirs=c:\openssl\1.1\lib -Dextra_include_dirs=c:\openssl\1.1\include -DTAR=%TAR% build
578574
579575
build_script: |
580576
vcvarsall x64

.mailmap

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Álvaro Herrera <[email protected]>

config/c-compiler.m4

+33-31
Original file line numberDiff line numberDiff line change
@@ -700,20 +700,22 @@ undefine([Ac_cachevar])dnl
700700
# Check if the compiler supports the XSAVE instructions using the _xgetbv
701701
# intrinsic function.
702702
#
703-
# An optional compiler flag can be passed as argument (e.g., -mxsave). If the
704-
# intrinsic is supported, sets pgac_xsave_intrinsics and CFLAGS_XSAVE.
703+
# If the intrinsics are supported, sets pgac_xsave_intrinsics.
705704
AC_DEFUN([PGAC_XSAVE_INTRINSICS],
706-
[define([Ac_cachevar], [AS_TR_SH([pgac_cv_xsave_intrinsics_$1])])dnl
707-
AC_CACHE_CHECK([for _xgetbv with CFLAGS=$1], [Ac_cachevar],
708-
[pgac_save_CFLAGS=$CFLAGS
709-
CFLAGS="$pgac_save_CFLAGS $1"
710-
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <immintrin.h>],
711-
[return _xgetbv(0) & 0xe0;])],
705+
[define([Ac_cachevar], [AS_TR_SH([pgac_cv_xsave_intrinsics])])dnl
706+
AC_CACHE_CHECK([for _xgetbv], [Ac_cachevar],
707+
[AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <immintrin.h>
708+
#if defined(__has_attribute) && __has_attribute (target)
709+
__attribute__((target("xsave")))
710+
#endif
711+
static int xsave_test(void)
712+
{
713+
return _xgetbv(0) & 0xe0;
714+
}],
715+
[return xsave_test();])],
712716
[Ac_cachevar=yes],
713-
[Ac_cachevar=no])
714-
CFLAGS="$pgac_save_CFLAGS"])
717+
[Ac_cachevar=no])])
715718
if test x"$Ac_cachevar" = x"yes"; then
716-
CFLAGS_XSAVE="$1"
717719
pgac_xsave_intrinsics=yes
718720
fi
719721
undefine([Ac_cachevar])dnl
@@ -725,29 +727,29 @@ undefine([Ac_cachevar])dnl
725727
# _mm512_setzero_si512, _mm512_maskz_loadu_epi8, _mm512_popcnt_epi64,
726728
# _mm512_add_epi64, and _mm512_reduce_add_epi64 intrinsic functions.
727729
#
728-
# Optional compiler flags can be passed as argument (e.g., -mavx512vpopcntdq
729-
# -mavx512bw). If the intrinsics are supported, sets
730-
# pgac_avx512_popcnt_intrinsics and CFLAGS_POPCNT.
730+
# If the intrinsics are supported, sets pgac_avx512_popcnt_intrinsics.
731731
AC_DEFUN([PGAC_AVX512_POPCNT_INTRINSICS],
732-
[define([Ac_cachevar], [AS_TR_SH([pgac_cv_avx512_popcnt_intrinsics_$1])])dnl
733-
AC_CACHE_CHECK([for _mm512_popcnt_epi64 with CFLAGS=$1], [Ac_cachevar],
734-
[pgac_save_CFLAGS=$CFLAGS
735-
CFLAGS="$pgac_save_CFLAGS $1"
736-
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <immintrin.h>],
737-
[const char buf@<:@sizeof(__m512i)@:>@;
738-
PG_INT64_TYPE popcnt = 0;
739-
__m512i accum = _mm512_setzero_si512();
740-
const __m512i val = _mm512_maskz_loadu_epi8((__mmask64) 0xf0f0f0f0f0f0f0f0, (const __m512i *) buf);
741-
const __m512i cnt = _mm512_popcnt_epi64(val);
742-
accum = _mm512_add_epi64(accum, cnt);
743-
popcnt = _mm512_reduce_add_epi64(accum);
744-
/* return computed value, to prevent the above being optimized away */
745-
return popcnt == 0;])],
732+
[define([Ac_cachevar], [AS_TR_SH([pgac_cv_avx512_popcnt_intrinsics])])dnl
733+
AC_CACHE_CHECK([for _mm512_popcnt_epi64], [Ac_cachevar],
734+
[AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <immintrin.h>
735+
#if defined(__has_attribute) && __has_attribute (target)
736+
__attribute__((target("avx512vpopcntdq,avx512bw")))
737+
#endif
738+
static int popcount_test(void)
739+
{
740+
const char buf@<:@sizeof(__m512i)@:>@;
741+
PG_INT64_TYPE popcnt = 0;
742+
__m512i accum = _mm512_setzero_si512();
743+
const __m512i val = _mm512_maskz_loadu_epi8((__mmask64) 0xf0f0f0f0f0f0f0f0, (const __m512i *) buf);
744+
const __m512i cnt = _mm512_popcnt_epi64(val);
745+
accum = _mm512_add_epi64(accum, cnt);
746+
popcnt = _mm512_reduce_add_epi64(accum);
747+
return (int) popcnt;
748+
}],
749+
[return popcount_test();])],
746750
[Ac_cachevar=yes],
747-
[Ac_cachevar=no])
748-
CFLAGS="$pgac_save_CFLAGS"])
751+
[Ac_cachevar=no])])
749752
if test x"$Ac_cachevar" = x"yes"; then
750-
CFLAGS_POPCNT="$1"
751753
pgac_avx512_popcnt_intrinsics=yes
752754
fi
753755
undefine([Ac_cachevar])dnl

0 commit comments

Comments
 (0)