@@ -5,21 +5,32 @@ concurrency:
55 cancel-in-progress : true
66jobs :
77 build :
8- runs-on : ubuntu-latest
9- name : ' Arm SVE${{ matrix.vector_bits }}'
8+ runs-on : ubuntu-24.04-arm
9+ name : ' ${{ matrix.sys.compiler }} ${{ matrix.sys.version }} - Arm SVE${{ matrix.vector_bits }}'
1010 strategy :
1111 matrix :
1212 vector_bits :
1313 - 128
1414 - 256
1515 - 512
16+ sys :
17+ - { compiler: 'gcc', version: '15' }
18+ - { compiler: 'clang', version: '21' }
1619 steps :
17- - name : Setup compiler
20+ - name : Setup GCC
21+ if : ${{ matrix.sys.compiler == 'gcc' }}
1822 run : |
1923 sudo apt-get update || exit 1
20- sudo apt-get --no-install-suggests --no-install-recommends install g++-10-aarch64-linux-gnu || exit 1
21- sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-10 20
22- sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-10 20
24+ sudo apt-get --no-install-suggests --no-install-recommends install g++-${{ matrix.sys.version }} || exit 1
25+ echo "CC=gcc-${{ matrix.sys.version }}" >> $GITHUB_ENV
26+ echo "CXX=g++-${{ matrix.sys.version }}" >> $GITHUB_ENV
27+ - name : Setup Clang
28+ if : ${{ matrix.sys.compiler == 'clang' }}
29+ run : |
30+ sudo apt-get update || exit 1
31+ sudo apt-get --no-install-suggests --no-install-recommends install clang-${{ matrix.sys.version }} || exit 1
32+ echo "CC=clang-${{ matrix.sys.version }}" >> $GITHUB_ENV
33+ echo "CXX=clang++-${{ matrix.sys.version }}" >> $GITHUB_ENV
2334 - name : Setup QEMU
2435 run : |
2536 sudo apt-get --no-install-suggests --no-install-recommends install qemu-user
@@ -34,10 +45,11 @@ jobs:
3445 -GNinja \
3546 -DBUILD_TESTS=ON -DDOWNLOAD_DOCTEST=ON \
3647 -DCMAKE_BUILD_TYPE=Release \
48+ -DCMAKE_C_COMPILER=${{ env.CC }} \
49+ -DCMAKE_CXX_COMPILER=${{ env.CXX }} \
3750 -DTARGET_ARCH=generic \
3851 -DCMAKE_C_FLAGS="-march=armv8-a+sve -msve-vector-bits=${{ matrix.vector_bits }}" \
39- -DCMAKE_CXX_FLAGS="-march=armv8-a+sve -msve-vector-bits=${{ matrix.vector_bits }}" \
40- -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/.github/toolchains/gcc-aarch64-linux-gnu.cmake
52+ -DCMAKE_CXX_FLAGS="-march=armv8-a+sve -msve-vector-bits=${{ matrix.vector_bits }}"
4153 - name : Build
4254 run : cmake --build _build
4355 - name : Set CPU feature test expectations
4759 echo "XSIMD_TEST_CPU_ASSUME_SVE=1" >> "$GITHUB_ENV"
4860 echo "XSIMD_TEST_CPU_ASSUME_MANUFACTURER=unknown" >> "$GITHUB_ENV"
4961 - name : Testing xsimd
50- run : qemu-aarch64 --cpu max,sve${{ matrix.vector_bits }}=on -L /usr/aarch64-linux-gnu/ ./test/test_xsimd
62+ run : qemu-aarch64 --cpu max,sve${{ matrix.vector_bits }}=on ./test/test_xsimd
5163 working-directory : ${{ github.workspace }}/_build
0 commit comments