Cast mask to sljit_sw in TEST_UI_IMM macro #303
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Actions | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| jobs: | |
| build-test-on-arches-with-qemu: | |
| name: Build and test on ${{ matrix.arch.name }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: | |
| - name: armt2 | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2024.05-1.tar.xz | |
| name: armv7-eabihf--glibc--stable-2024.05-1.tar.xz | |
| CC: arm-buildroot-linux-gnueabihf-gcc-13.3.0.br_real | |
| CFLAGS: -mthumb | |
| qemu: | |
| target: arm-linux-user | |
| name: qemu-arm | |
| - name: armv7 | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2024.05-1.tar.xz | |
| name: armv7-eabihf--glibc--stable-2024.05-1.tar.xz | |
| CC: arm-buildroot-linux-gnueabihf-gcc-13.3.0.br_real | |
| CFLAGS: -marm | |
| qemu: | |
| target: arm-linux-user | |
| name: qemu-arm | |
| - name: aarch64 | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2024.05-1.tar.xz | |
| name: aarch64--glibc--stable-2024.05-1.tar.xz | |
| CC: aarch64-buildroot-linux-gnu-gcc-13.3.0.br_real | |
| qemu: | |
| target: aarch64-linux-user | |
| name: qemu-aarch64 | |
| - name: riscv64 with extensions | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2024.05-1.tar.xz | |
| name: riscv64-lp64d--glibc--stable-2024.05-1.tar.xz | |
| CC: riscv64-buildroot-linux-gnu-gcc-13.3.0.br_real | |
| CFLAGS: -march=rv64gv_zba_zbb_zicond | |
| qemu: | |
| target: riscv64-linux-user | |
| name: qemu-riscv64 | |
| - name: riscv64 | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2024.05-1.tar.xz | |
| name: riscv64-lp64d--glibc--stable-2024.05-1.tar.xz | |
| CC: riscv64-buildroot-linux-gnu-gcc-13.3.0.br_real | |
| CFLAGS: -march=rv64g | |
| qemu: | |
| target: riscv64-linux-user | |
| name: qemu-riscv64 | |
| - name: riscv32 with extensions | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--stable-2024.05-1.tar.xz | |
| name: riscv32-ilp32d--glibc--stable-2024.05-1.tar.xz | |
| CC: riscv32-buildroot-linux-gnu-gcc-13.3.0.br_real | |
| CFLAGS: -march=rv32gcv_zba_zbb_zicond | |
| qemu: | |
| target: riscv32-linux-user | |
| name: qemu-riscv32 | |
| - name: riscv32 | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--stable-2024.05-1.tar.xz | |
| name: riscv32-ilp32d--glibc--stable-2024.05-1.tar.xz | |
| CC: riscv32-buildroot-linux-gnu-gcc-13.3.0.br_real | |
| CFLAGS: -march=rv32g | |
| qemu: | |
| target: riscv32-linux-user | |
| name: qemu-riscv32 | |
| - name: loongarch64 | |
| toolchain: | |
| url: https://github.com/loongson/build-tools/releases/download/2025.02.21/x86_64-cross-tools-loongarch64-binutils_2.44-gcc_14.2.0-glibc_2.41.tar.xz | |
| name: x86_64-cross-tools-loongarch64-binutils_2.44-gcc_14.2.0-glibc_2.41.tar.xz | |
| CC: loongarch64-unknown-linux-gnu-gcc-14.2.0 | |
| CFLAGS: -march=la464 | |
| qemu: | |
| target: loongarch64-linux-user | |
| name: qemu-loongarch64 | |
| - name: s390x | |
| toolchain: | |
| url: https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs/s390x-z13--glibc--stable-2024.05-1.tar.xz | |
| name: s390x-z13--glibc--stable-2024.05-1.tar.xz | |
| CC: s390x-buildroot-linux-gnu-gcc-13.3.0.br_real | |
| qemu: | |
| target: s390x-linux-user | |
| name: qemu-s390x | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Install compiler | |
| run: | | |
| sudo apt update | |
| sudo apt install -y make wget gcc g++ ninja-build libglib2.0-dev | |
| wget ${{ matrix.arch.toolchain.url }} | |
| mkdir toolchain | |
| tar -xvf ${{ matrix.arch.toolchain.name }} -C toolchain --strip-components=1 | |
| - name: Install qemu | |
| run: | | |
| wget https://download.qemu.org/qemu-9.0.2.tar.xz | |
| tar -xvf qemu-9.0.2.tar.xz | |
| cd qemu-9.0.2 | |
| ./configure --target-list="${{ matrix.arch.qemu.target }}" | |
| make -j4 | |
| - name: Build | |
| env: | |
| CROSS_COMPILER: ./toolchain/bin/${{ matrix.arch.toolchain.CC }} | |
| CFLAGS: ${{ matrix.arch.toolchain.CFLAGS }} | |
| EXTRA_LDFLAGS: -static | |
| run: | | |
| make all | |
| - name: Run tests | |
| run: | | |
| ./qemu-9.0.2/build/${{ matrix.arch.qemu.name }} ./bin/sljit_test -v | |
| build-test-on-x86_x64: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: | |
| - name: x86 | |
| CFLAGS: -m32 | |
| - name: x64 | |
| name: Build and test on ${{ matrix.arch.name }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Install Packages | |
| run: | | |
| sudo apt update | |
| sudo apt install -y gcc-multilib make | |
| - name: Build | |
| env: | |
| CFLAGS: ${{ matrix.arch.CFLAGS }} | |
| run: | | |
| make all | |
| - name: Run Tests | |
| run: | | |
| ./bin/sljit_test -v |