mirror of
https://github.com/boostorg/uuid.git
synced 2026-01-19 04:42:16 +00:00
Added GitHub Actions jobs for SSSE3 and AVX targets.
The targets verify the respective code paths in SIMD algorithms. The recently added SSE2 paths are already tested in the other, unspecialized jobs. Also added jobs to compile tests with BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM and BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B experimental macros defined.
This commit is contained in:
62
.github/workflows/ci.yml
vendored
62
.github/workflows/ci.yml
vendored
@@ -92,6 +92,14 @@ jobs:
|
|||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
install: g++-15-multilib
|
install: g++-15-multilib
|
||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
|
- toolset: gcc-13
|
||||||
|
cxxstd: "11,14,17,20,2b"
|
||||||
|
instruction-set: core2
|
||||||
|
cpu-requirements: [ ssse3 ]
|
||||||
|
os: ubuntu-latest
|
||||||
|
container: ubuntu:24.04
|
||||||
|
install: g++-13-multilib
|
||||||
|
address-model: 32,64
|
||||||
- toolset: gcc-13
|
- toolset: gcc-13
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
instruction-set: nehalem
|
instruction-set: nehalem
|
||||||
@@ -100,6 +108,14 @@ jobs:
|
|||||||
container: ubuntu:24.04
|
container: ubuntu:24.04
|
||||||
install: g++-13-multilib
|
install: g++-13-multilib
|
||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
|
- toolset: gcc-13
|
||||||
|
cxxstd: "11,14,17,20,2b"
|
||||||
|
instruction-set: sandy-bridge
|
||||||
|
cpu-requirements: [ avx ]
|
||||||
|
os: ubuntu-latest
|
||||||
|
container: ubuntu:24.04
|
||||||
|
install: g++-13-multilib
|
||||||
|
address-model: 32,64
|
||||||
- toolset: gcc-13
|
- toolset: gcc-13
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
instruction-set: haswell
|
instruction-set: haswell
|
||||||
@@ -124,6 +140,16 @@ jobs:
|
|||||||
container: ubuntu:24.04
|
container: ubuntu:24.04
|
||||||
install: g++-13-multilib
|
install: g++-13-multilib
|
||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
|
# Experimental features
|
||||||
|
- toolset: gcc-13
|
||||||
|
cxxstd: "11,14,17,20,2b"
|
||||||
|
instruction-set: rocketlake
|
||||||
|
cpu-requirements: [ avx512f, avx512cd, avx512vl, avx512dq, avx512bw, avx512vbmi, avx512_vbmi2, avx512_bitalg, bmi1, bmi2 ]
|
||||||
|
defines: [ BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM, BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B ]
|
||||||
|
os: ubuntu-latest
|
||||||
|
container: ubuntu:24.04
|
||||||
|
install: g++-13-multilib
|
||||||
|
address-model: 32,64
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-3.9
|
compiler: clang++-3.9
|
||||||
cxxstd: "11,14"
|
cxxstd: "11,14"
|
||||||
@@ -238,6 +264,14 @@ jobs:
|
|||||||
container: ubuntu:25.10
|
container: ubuntu:25.10
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
install: clang-21
|
install: clang-21
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-17
|
||||||
|
cxxstd: "11,14,17,20,2b"
|
||||||
|
instruction-set: core2
|
||||||
|
cpu-requirements: [ ssse3 ]
|
||||||
|
container: ubuntu:24.04
|
||||||
|
os: ubuntu-latest
|
||||||
|
install: clang-17
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-17
|
compiler: clang++-17
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
@@ -246,6 +280,14 @@ jobs:
|
|||||||
container: ubuntu:24.04
|
container: ubuntu:24.04
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
install: clang-17
|
install: clang-17
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-17
|
||||||
|
cxxstd: "11,14,17,20,2b"
|
||||||
|
instruction-set: sandy-bridge
|
||||||
|
cpu-requirements: [ avx ]
|
||||||
|
container: ubuntu:24.04
|
||||||
|
os: ubuntu-latest
|
||||||
|
install: clang-17
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-17
|
compiler: clang++-17
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
@@ -270,6 +312,16 @@ jobs:
|
|||||||
container: ubuntu:24.04
|
container: ubuntu:24.04
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
install: clang-17
|
install: clang-17
|
||||||
|
# Experimental features
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-17
|
||||||
|
cxxstd: "11,14,17,20,2b"
|
||||||
|
instruction-set: rocketlake
|
||||||
|
cpu-requirements: [ avx512f, avx512cd, avx512vl, avx512dq, avx512bw, avx512vbmi, avx512_vbmi2, avx512_bitalg, bmi1, bmi2 ]
|
||||||
|
defines: [ BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM, BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B ]
|
||||||
|
container: ubuntu:24.04
|
||||||
|
os: ubuntu-latest
|
||||||
|
install: clang-17
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
os: macos-14
|
os: macos-14
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
@@ -346,6 +398,7 @@ jobs:
|
|||||||
cd ../boost-root
|
cd ../boost-root
|
||||||
ADDRMD=${{matrix.address-model}}
|
ADDRMD=${{matrix.address-model}}
|
||||||
INSTRUCTION_SET=${{matrix.instruction-set}}
|
INSTRUCTION_SET=${{matrix.instruction-set}}
|
||||||
|
b2_args=(-j2 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} ${INSTRUCTION_SET:+instruction-set=$INSTRUCTION_SET} variant=debug,release)
|
||||||
if [ -n "${{matrix.cpu-requirements}}" ]
|
if [ -n "${{matrix.cpu-requirements}}" ]
|
||||||
then
|
then
|
||||||
cpu_flags="$(lscpu | grep -F "Flags:" | sed "s/^Flags:\\s*//")";
|
cpu_flags="$(lscpu | grep -F "Flags:" | sed "s/^Flags:\\s*//")";
|
||||||
@@ -360,7 +413,14 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
./b2 -j2 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} ${INSTRUCTION_SET:+instruction-set=$INSTRUCTION_SET} variant=debug,release
|
if [ -n "${{matrix.defines}}" ]
|
||||||
|
then
|
||||||
|
for define in ${{join(matrix.defines, ' ')}}
|
||||||
|
do
|
||||||
|
b2_args+=("define=$define")
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
./b2 "${b2_args[@]}"
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
strategy:
|
strategy:
|
||||||
|
|||||||
Reference in New Issue
Block a user