Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 72 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
run: ./_build/test/test_xsimd

build-windows-arm64:
name: 'MSVC arm64'
name: 'MSVC ARM64'
defaults:
run:
shell: bash {0}
Expand All @@ -94,7 +94,7 @@ jobs:
- name: Setup compiler
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
arch: arm64
- name: Setup Ninja
run: |
python3 -m pip install --upgrade pip setuptools wheel
Expand All @@ -107,3 +107,73 @@ jobs:
run: cmake --build _build
- name: Testing xsimd
run: ./_build/test/test_xsimd

build-windows-arm64-msys2-clang:
name: 'MSYS2 CLANG ARM64'
runs-on: windows-11-arm
defaults:
run:
shell: msys2 {0}
steps:
- name: Setup MSYS2 with Clang (ARM64)
uses: msys2/setup-msys2@v2
with:
msystem: CLANGARM64
update: true
path-type: minimal
pacboy: >-
cc:p
cmake:p
ninja:p
- name: Checkout xsimd
uses: actions/checkout@v4
- name: Configure
run: |
cmake -B _build \
-DBUILD_TESTS=ON \
-DDOWNLOAD_DOCTEST=ON \
-DBUILD_BENCHMARK=ON \
-DBUILD_EXAMPLES=ON \
-DCMAKE_BUILD_TYPE=Release \
-G Ninja
- name: Build
run: cmake --build _build
- name: Testing xsimd
run: ./_build/test/test_xsimd

build-windows-arm64-clang:
name: 'LLVM CLANG ARM64'
defaults:
run:
shell: bash {0}
runs-on: windows-11-arm
steps:
- name: Install LLVM/Clang for Windows ARM64
shell: pwsh
run: |
winget install --id LLVM.LLVM --accept-source-agreements --accept-package-agreements --silent
# Add LLVM bin directory to PATH for subsequent steps
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Setup Ninja
run: |
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install ninja
- name: Checkout xsimd
uses: actions/checkout@v4
- name: Verify clang-cl version
run: clang-cl --version
- name: Configure
run: |
cmake -B _build \
-DCMAKE_C_COMPILER=clang-cl \
-DCMAKE_CXX_COMPILER=clang-cl \
-DBUILD_TESTS=ON \
-DDOWNLOAD_DOCTEST=ON \
-DBUILD_BENCHMARK=ON \
-DBUILD_EXAMPLES=ON \
-DCMAKE_BUILD_TYPE=Release \
-G Ninja
- name: Build
run: cmake --build _build
- name: Testing xsimd
run: ./_build/test/test_xsimd
2 changes: 2 additions & 0 deletions include/xsimd/arch/common/xsimd_common_memory.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ namespace xsimd
for (size_t i = 0; i < sizeof...(Is); ++i)
if ((bitmask >> i) & 1u)
std::swap(mask_buffer[inserted++], mask_buffer[i]);
// Fill remaining (don't-care) tail positions with index 0.
std::fill(mask_buffer + inserted, mask_buffer + sizeof...(Is), IT(0));
return batch<IT, A>::load_aligned(&mask_buffer[0]);
}
}
Expand Down
Loading