Skip to content

Commit 919a90d

Browse files
committed
Try SVE CI on ARM
1 parent 7eeaf2f commit 919a90d

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

.github/workflows/cross-sve.yml

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,32 @@ concurrency:
55
cancel-in-progress: true
66
jobs:
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
@@ -47,5 +59,5 @@ jobs:
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

Comments
 (0)