Merge pull request #4250 from facebook/x86_32_avx2
added a CI test for x86 32-bit + avx2 combination
This commit is contained in:
@@ -164,7 +164,17 @@ jobs:
|
|||||||
make clean
|
make clean
|
||||||
bash tests/libzstd_builds.sh
|
bash tests/libzstd_builds.sh
|
||||||
|
|
||||||
gcc-make-tests-32bit:
|
gcc-make-all-avx2:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
|
- name: Make all, with AVX2
|
||||||
|
run: |
|
||||||
|
sudo apt-get -qqq update
|
||||||
|
make libc6install
|
||||||
|
CFLAGS="-Werror -mavx2" make -j all
|
||||||
|
|
||||||
|
gcc-make-all-32bit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
|
||||||
@@ -174,6 +184,17 @@ jobs:
|
|||||||
make libc6install
|
make libc6install
|
||||||
CFLAGS="-Werror -m32" make -j all32
|
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 + AVX2 mode
|
||||||
|
run: |
|
||||||
|
sudo apt-get -qqq update
|
||||||
|
make libc6install
|
||||||
|
CPPFLAGS="-DSTATIC_BMI2=1" CFLAGS="-Werror -m32 -mavx2 -mbmi2" make -j all32
|
||||||
|
|
||||||
|
|
||||||
gcc-8-make:
|
gcc-8-make:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC)
|
|||||||
BIT_addBitsFast(bitC, 1, 1); /* endMark */
|
BIT_addBitsFast(bitC, 1, 1); /* endMark */
|
||||||
BIT_flushBits(bitC);
|
BIT_flushBits(bitC);
|
||||||
if (bitC->ptr >= bitC->endPtr) return 0; /* overflow detected */
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -210,7 +210,7 @@
|
|||||||
/* Like DYNAMIC_BMI2 but for compile time determination of BMI2 support */
|
/* Like DYNAMIC_BMI2 but for compile time determination of BMI2 support */
|
||||||
#ifndef STATIC_BMI2
|
#ifndef STATIC_BMI2
|
||||||
# if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_I86))
|
# 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
|
# define STATIC_BMI2 1
|
||||||
# endif
|
# endif
|
||||||
# elif defined(__BMI2__) && defined(__x86_64__) && defined(__GNUC__)
|
# elif defined(__BMI2__) && defined(__x86_64__) && defined(__GNUC__)
|
||||||
|
|||||||
@@ -7125,7 +7125,7 @@ size_t ZSTD_compressSequences(ZSTD_CCtx* cctx,
|
|||||||
* @returns > 0 if there is one long length (> 65535),
|
* @returns > 0 if there is one long length (> 65535),
|
||||||
* indicating the position, and type.
|
* indicating the position, and type.
|
||||||
*/
|
*/
|
||||||
size_t convertSequences_noRepcodes(
|
static size_t convertSequences_noRepcodes(
|
||||||
SeqDef* dstSeqs,
|
SeqDef* dstSeqs,
|
||||||
const ZSTD_Sequence* inSeqs,
|
const ZSTD_Sequence* inSeqs,
|
||||||
size_t nbSequences)
|
size_t nbSequences)
|
||||||
@@ -7277,9 +7277,10 @@ size_t convertSequences_noRepcodes(
|
|||||||
|
|
||||||
#else /* no AVX2 */
|
#else /* no AVX2 */
|
||||||
|
|
||||||
static size_t
|
static size_t convertSequences_noRepcodes(
|
||||||
convertSequences_noRepcodes(SeqDef* dstSeqs,
|
SeqDef* dstSeqs,
|
||||||
const ZSTD_Sequence* const inSeqs, size_t nbSequences)
|
const ZSTD_Sequence* inSeqs,
|
||||||
|
size_t nbSequences)
|
||||||
{
|
{
|
||||||
size_t longLen = 0;
|
size_t longLen = 0;
|
||||||
size_t n;
|
size_t n;
|
||||||
|
|||||||
Reference in New Issue
Block a user