Skip to content

Fix #3882: Avoid UB in float-to-unsigned constant conversion causing … #238

Fix #3882: Avoid UB in float-to-unsigned constant conversion causing …

Fix #3882: Avoid UB in float-to-unsigned constant conversion causing … #238

Workflow file for this run

# Copyright 2026, Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause
name: PowerPC64 Tests
permissions: read-all
on:
pull_request:
paths:
- 'src/**'
- 'builtins/**'
- 'cmake/**'
- 'CMakeLists.txt'
- '.github/workflows/ppc64.yml'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ppc64-native-test:
name: PowerPC64LE test (native)
runs-on: ubuntu-24.04-ppc64le
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
submodules: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y git curl cmake xz-utils m4 flex bison python3 python3-dev libtbb-dev \
llvm-20-dev clang-20 lld-20 libclang-20-dev
- name: Check tools
run: |
cmake --version
llvm-config-20 --version
clang-20 --version
gcc --version
g++ --version
- name: Build ISPC with PPC64 support
run: |
PATH=/usr/lib/llvm-20/bin:$PATH cmake -B build -DPPC64_ENABLED=ON -DARM_ENABLED=OFF -DX86_ENABLED=OFF
cmake --build build -j"$(nproc)"
- name: Run lit tests
run: |
cmake --build build --target check-all
- name: Run PPC64LE VSX tests
run: |
PATH="$PWD"/build/bin:"$PATH" \
python3 scripts/run_tests.py \
--target=vsx-i32x4 \
--arch=ppc64le \
--compiler=g++ \
-o O2
ppc64-cross-test:
name: PowerPC64LE test (cross-compiled)
runs-on: ubuntu-24.04
env:
LLVM_TAR: llvm-23.1.0-ubuntu22.04-Release+Asserts-x86.arm.ppc.wasm.tar.xz
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
submodules: true
- name: Install dependencies
run: |
.github/workflows/scripts/install-build-deps.sh
- name: Install PPC64 cross-compilation tools
run: |
sudo apt-get install -y gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu \
libc6-dev-ppc64el-cross qemu-user
- name: Check tools
run: |
cmake --version
llvm-config --version
clang --version
powerpc64le-linux-gnu-gcc --version
qemu-ppc64le --version
- name: Build ISPC with PPC64 support
run: |
cmake -B build -DPPC64_ENABLED=ON -DARM_ENABLED=OFF
cmake --build build -j"$(nproc)"
- name: Run lit tests
run: |
cmake --build build --target check-all
- name: Run PPC64LE VSX tests
run: |
PATH="$PWD"/build/bin:"$PATH" \
python3 scripts/run_tests.py \
--target=vsx-i32x4 \
--arch=ppc64le \
--wrap-exe="qemu-ppc64le" \
--compiler=powerpc64le-linux-gnu-g++ \
-o O2