From: Yann Collet Date: Sun, 19 Jan 2025 04:19:55 +0000 (-0800) Subject: added a CI test for x86 32-bit + avx2 combination X-Git-Tag: v1.5.7^2~28^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9efb09749b85acfbc2299fb6dec6146b942c6b2e;p=thirdparty%2Fzstd.git added a CI test for x86 32-bit + avx2 combination which is expected to be quite rare, but nonetheless possible. This test is initially expected to fail, before integration of #4248 fix --- diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml index 18c66f4f6..fa28283f7 100644 --- a/.github/workflows/dev-short-tests.yml +++ b/.github/workflows/dev-short-tests.yml @@ -164,7 +164,7 @@ jobs: make clean bash tests/libzstd_builds.sh - gcc-make-tests-32bit: + gcc-make-all-32bit: runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1 @@ -174,6 +174,17 @@ jobs: make libc6install CFLAGS="-Werror -m32" make -j all32 + gcc-make-all-32bit-avx2: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1 + - name: Make all, 32bit mode + run: | + sudo apt-get -qqq update + make libc6install + CFLAGS="-Werror -m32 -mavx2" make -j all32 + + gcc-8-make: runs-on: ubuntu-latest steps: diff --git a/lib/common/bitstream.h b/lib/common/bitstream.h index bc7118b37..88f448aa6 100644 --- a/lib/common/bitstream.h +++ b/lib/common/bitstream.h @@ -238,7 +238,7 @@ MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC) BIT_addBitsFast(bitC, 1, 1); /* endMark */ BIT_flushBits(bitC); if (bitC->ptr >= bitC->endPtr) return 0; /* overflow detected */ - return (bitC->ptr - bitC->startPtr) + (bitC->bitPos > 0); + return (size_t)(bitC->ptr - bitC->startPtr) + (bitC->bitPos > 0); } diff --git a/lib/common/compiler.h b/lib/common/compiler.h index 2a8002288..84ce62349 100644 --- a/lib/common/compiler.h +++ b/lib/common/compiler.h @@ -210,7 +210,7 @@ /*Like DYNAMIC_BMI2 but for compile time determination of BMI2 support*/ #ifndef STATIC_BMI2 # if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_I86)) -# ifdef __AVX2__ //MSVC does not have a BMI2 specific flag, but every CPU that supports AVX2 also supports BMI2 +# ifdef __AVX2__ /* MSVC does not have a BMI2 specific flag, but every CPU that supports AVX2 also supports BMI2 */ # define STATIC_BMI2 1 # endif # elif defined(__BMI2__) && defined(__x86_64__) && defined(__GNUC__)