|
1 | | -name: Linux build |
| 1 | +name: Linux x86 build |
2 | 2 | on: [push, pull_request] |
3 | 3 | concurrency: |
4 | 4 | group: ${{ github.workflow }}-${{ github.job }}-${{ github.ref }} |
5 | 5 | cancel-in-progress: true |
6 | 6 | defaults: |
7 | 7 | run: |
8 | 8 | shell: bash -l {0} |
| 9 | + |
9 | 10 | jobs: |
10 | 11 | build: |
11 | 12 | runs-on: ubuntu-latest |
12 | 13 | name: '${{ matrix.sys.compiler }} ${{ matrix.sys.version }} - ${{ matrix.sys.flags }}' |
13 | 14 | strategy: |
14 | 15 | matrix: |
15 | 16 | sys: |
16 | | - - { compiler: 'gcc', version: '12', flags: 'force_no_instr_set' } |
17 | | - - { compiler: 'gcc', version: '13', flags: 'enable_xtl_complex' } |
18 | | - - { compiler: 'gcc', version: '14', flags: 'avx' } |
| 17 | + - { compiler: 'gcc', version: '12', flags: 'force_no_instr_set' } |
| 18 | + - { compiler: 'gcc', version: '13', flags: 'enable_xtl_complex' } |
| 19 | + - { compiler: 'gcc', version: '14', flags: 'avx' } |
19 | 20 | - { compiler: 'gcc', version: '13', flags: 'avx512' } |
20 | 21 | - { compiler: 'gcc', version: '10', flags: 'avx512' } |
21 | 22 | - { compiler: 'gcc', version: '12', flags: 'i386' } |
22 | 23 | - { compiler: 'gcc', version: '13', flags: 'avx512pf' } |
23 | 24 | - { compiler: 'gcc', version: '13', flags: 'avx512vbmi' } |
24 | 25 | - { compiler: 'gcc', version: '14', flags: 'avx512vbmi2' } |
25 | 26 | - { compiler: 'gcc', version: '13', flags: 'avx512vnni' } |
26 | | - - { compiler: 'clang', version: '16', flags: 'force_no_instr_set' } |
| 27 | + - { compiler: 'clang', version: '16', flags: 'force_no_instr_set' } |
27 | 28 | - { compiler: 'clang', version: '16', flags: 'enable_xtl_complex' } |
28 | 29 | - { compiler: 'clang', version: '17', flags: 'avx' } |
29 | 30 | - { compiler: 'clang', version: '17', flags: 'sse3' } |
@@ -119,9 +120,17 @@ jobs: |
119 | 120 | run: cmake --build _build |
120 | 121 | - name: Test |
121 | 122 | run: | |
| 123 | + # Set CPU feature test expectations |
| 124 | + # Assuming the runner always has AVX (independent of compilation option) |
| 125 | + export XSIMD_TEST_CPU_ASSUME_NEON64="0" |
| 126 | + export XSIMD_TEST_CPU_ASSUME_SSE4_2="1" |
| 127 | + export XSIMD_TEST_CPU_ASSUME_AVX="1" |
122 | 128 | cd _build/test |
123 | 129 | if echo '${{ matrix.sys.flags }}' | grep -q 'avx512' ; then |
| 130 | + export XSIMD_TEST_CPU_ASSUME_AVX512F="1" |
124 | 131 | ../../sde-external-9.48.0-2024-11-25-lin/sde64 -tgl -- ./test_xsimd |
125 | 132 | else |
| 133 | + # Explicitly assume the runner will not have avx512, which may change in the future |
| 134 | + export XSIMD_TEST_CPU_ASSUME_AVX512F="0" |
126 | 135 | ./test_xsimd |
127 | 136 | fi |
0 commit comments