@@ -231,6 +231,51 @@ jobs:
231231 - name : cargo test --doc
232232 run : cargo test --doc --workspace --locked --all-features --no-fail-fast --target ${{ matrix.platform.target }}
233233
234+ test-stable :
235+ name : cargo test
236+ runs-on : ${{ matrix.platform.os }}
237+ strategy :
238+ matrix :
239+ platform :
240+ - { target: x86_64-unknown-linux-gnu, os: ubuntu-latest }
241+ steps :
242+ - uses : actions/checkout@v4
243+
244+ - name : install stable toolchain
245+ uses : dtolnay/rust-toolchain@master
246+ with :
247+ toolchain : ${{ env.RUST_STABLE_VER }}
248+ targets : ${{ matrix.platform.target }}
249+
250+ - name : restore cache
251+ uses : Swatinem/rust-cache@v2
252+ with :
253+ save-if : ${{ github.event_name != 'merge_group' }}
254+
255+ - name : install Intel Software Development Emulator
256+ run : wget 'https://downloadmirror.intel.com/873619/sde-external-10.5.0-2026-01-13-lin.tar.xz' && tar -xf 'sde-external-10.5.0-2026-01-13-lin.tar.xz'
257+
258+ - name : build tests
259+ # doc tests take a long time to run in the emulator and are already tested elsewhere, so exclude them with --lib --bins --tests
260+ run : cargo test --no-run --lib --bins --tests --workspace --locked --all-features
261+
262+ - name : run tests on CPU with only SSE2
263+ # -p4p stands for Pentium 4 Prescott, the first Intel 64-bit CPU
264+ run : sde-external-10.5.0-2026-01-13-lin.tar.xz/sde64 -p4p -- cargo test --lib --bins --tests --workspace --locked --all-features
265+
266+ - name : run tests on CPU with SSE4.2
267+ # -nhm stands for Nehalem
268+ run : sde-external-10.5.0-2026-01-13-lin.tar.xz/sde64 -nhm -- cargo test --lib --bins --tests --workspace --locked --all-features
269+
270+ - name : run tests on CPU with AVX2
271+ # -hsw stands for Haswell
272+ run : sde-external-10.5.0-2026-01-13-lin.tar.xz/sde64 -hsw -- cargo test --lib --bins --tests --workspace --locked --all-features
273+
274+ - name : run tests on CPU with AVX-512
275+ # Github Actions doesn't give us AVX-512 so this is the only way to exercise AVX-512 codepaths on CI
276+ # -icl stands for Ice Lake; technically Skylake added AVX-512 first but it's mostly useless there due to downclocking
277+ run : sde-external-10.5.0-2026-01-13-lin.tar.xz/sde64 -icl -- cargo test --lib --bins --tests --workspace --locked --all-features
278+
234279 test-nightly-asan :
235280 name : cargo test with Address Sanitizer
236281 runs-on : ${{ matrix.platform.os }}
0 commit comments