Skip to content

Feature/tentative altivec support #1144

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 56 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
55cd52c
Tentative support for altivec
serge-sans-paille Jul 13, 2025
a8da651
minimal test
serge-sans-paille Jul 13, 2025
1683823
add ppc toolchain description
serge-sans-paille Jul 13, 2025
ddfad22
+ test_arch
serge-sans-paille Jul 13, 2025
c586776
WIP
serge-sans-paille Jul 13, 2025
9c0bd33
WIP
serge-sans-paille Jul 13, 2025
ad8177b
WIP
serge-sans-paille Jul 13, 2025
f2246a4
WIP
serge-sans-paille Jul 13, 2025
f90e5e8
WIP
serge-sans-paille Jul 13, 2025
6e5978c
WIP
serge-sans-paille Jul 13, 2025
153c058
set
serge-sans-paille Jul 13, 2025
ae4f6fe
eq
serge-sans-paille Jul 13, 2025
fc7d26f
WIP
serge-sans-paille Jul 13, 2025
f6a2a1b
WIP
serge-sans-paille Jul 13, 2025
c19b1cb
WIP
serge-sans-paille Jul 13, 2025
f8fa585
WIP
serge-sans-paille Jul 13, 2025
2de3a6b
store
serge-sans-paille Jul 13, 2025
d66759f
++
serge-sans-paille Jul 13, 2025
540e0d2
WIP
serge-sans-paille Jul 13, 2025
68ca9a9
WIP
serge-sans-paille Jul 13, 2025
b5ab4f1
WIP
serge-sans-paille Jul 13, 2025
1bd2ce7
fast-cast
serge-sans-paille Jul 13, 2025
36cd50c
WIP
serge-sans-paille Jul 14, 2025
37988e7
WIP
serge-sans-paille Jul 14, 2025
db19123
WIP
serge-sans-paille Jul 14, 2025
308d4d5
WIP
serge-sans-paille Jul 14, 2025
8c7d552
WIP
serge-sans-paille Jul 14, 2025
ca1fd74
WIP
serge-sans-paille Jul 14, 2025
8602e05
WIP
serge-sans-paille Jul 14, 2025
4f4092d
WIP
serge-sans-paille Jul 15, 2025
b7a286e
WIP
serge-sans-paille Jul 15, 2025
e68ad27
gcc ver
serge-sans-paille Jul 15, 2025
1040fef
WIP
serge-sans-paille Jul 16, 2025
1c23195
WIP
serge-sans-paille Jul 16, 2025
62b9257
WIP
serge-sans-paille Jul 16, 2025
37548ca
WIP
serge-sans-paille Jul 16, 2025
7e1d26a
double
serge-sans-paille Jul 16, 2025
35aa9e7
WIP
serge-sans-paille Jul 16, 2025
abfece2
WIP
serge-sans-paille Jul 16, 2025
4e8638a
WIP
serge-sans-paille Jul 17, 2025
bdb295b
WIP
serge-sans-paille Jul 17, 2025
de42edc
WIP
serge-sans-paille Jul 17, 2025
82da5e5
WIP
serge-sans-paille Jul 17, 2025
ff1a2d6
WIP
serge-sans-paille Jul 18, 2025
32becba
WIP
serge-sans-paille Jul 18, 2025
4e8d270
WIP
serge-sans-paille Jul 18, 2025
d0be84b
WIP
serge-sans-paille Jul 18, 2025
209d0c5
WIP
serge-sans-paille Jul 18, 2025
6bb9830
WIP
serge-sans-paille Jul 18, 2025
86b3615
WIP
serge-sans-paille Jul 19, 2025
d65c8ed
WIP
serge-sans-paille Jul 19, 2025
0cb875c
WIP
serge-sans-paille Jul 21, 2025
88b3e0b
WIP
serge-sans-paille Jul 21, 2025
7e6e837
WIP
serge-sans-paille Jul 21, 2025
a7f64dc
WIP
serge-sans-paille Jul 21, 2025
6b975ac
WIP
serge-sans-paille Jul 21, 2025
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
5 changes: 5 additions & 0 deletions .github/toolchains/gcc-powerpc64-linux-gnu.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
set(CMAKE_SYSTEM_PROCESSOR powerpc64)
set(triple powerpc64-linux-gnu)

include(${CMAKE_CURRENT_LIST_DIR}/gcc.cmake)

File renamed without changes.
43 changes: 43 additions & 0 deletions .github/workflows/cross-ppc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: PowerPC cross-compilation build
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.job }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
name: '${{ matrix.target.arch }}, ${{ matrix.sys.compiler }} ${{ matrix.sys.version }}'
strategy:
matrix:
target:
- { platform: 'ppc64', dir: 'powerpc64-linux-gnu', flags: '-maltivec -mvsx -mcpu=power8', full: 'OFF' }
sys:
- { compiler: 'gcc', version: '12' }
steps:
- name: Setup compiler
if: ${{ matrix.sys.compiler == 'gcc' }}
run: |
sudo apt-get update || exit 1
sudo apt-get --no-install-suggests --no-install-recommends install g++-${{ matrix.sys.version }}-${{ matrix.target.dir }} g++-${{ matrix.sys.version }}-multilib || exit 1
sudo update-alternatives --remove-all ${{ matrix.target.dir }}-gcc || true
sudo update-alternatives --remove-all ${{ matrix.target.dir }}-g++ || true
sudo update-alternatives --install /usr/bin/${{ matrix.target.dir }}-gcc ${{ matrix.target.dir }}-gcc /usr/bin/${{ matrix.target.dir }}-gcc-${{ matrix.sys.version }} 20
sudo update-alternatives --install /usr/bin/${{ matrix.target.dir }}-g++ ${{ matrix.target.dir }}-g++ /usr/bin/${{ matrix.target.dir }}-g++-${{ matrix.sys.version }} 20
- name: Setup QEMU
run: |
sudo apt-get --no-install-suggests --no-install-recommends install qemu-user
- name: Setup Ninja
run: |
sudo apt-get install ninja-build
- name: Checkout xsimd
uses: actions/checkout@v3
- name: Setup
run: |
mkdir _build
cd _build && cmake .. -DBUILD_TESTS=ON -DDOWNLOAD_DOCTEST=ON -DBUILD_BENCHMARK=${{ matrix.target.full }} -DBUILD_EXAMPLES=${{ matrix.target.full }} -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="${{ matrix.target.flags }}" -DCMAKE_CXX_FLAGS="${{ matrix.target.flags }}" -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/.github/toolchains/${{ matrix.sys.compiler }}-${{ matrix.target.dir }}.cmake
- name: Build
run: cmake --build _build --verbose -j1
- name: Testing xsimd
run: |
#qemu-${{ matrix.target.platform }} -cpu power8 -L /usr/${{ matrix.target.dir}}/ ./test/test_xsimd
working-directory: ${{ github.workspace }}/_build
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ message(STATUS "xsimd v${${PROJECT_NAME}_VERSION}")
set(XSIMD_HEADERS
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_constants.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_fma3_avx.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_fma3_avx.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_fma3_avx2.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_fma3_sse.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_fma4.hpp
Expand All @@ -49,6 +50,7 @@ ${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_sse3.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_sse4_1.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_sse4_2.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_ssse3.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_altivec.hpp
${XSIMD_INCLUDE_DIR}/xsimd/arch/xsimd_sve.hpp
${XSIMD_INCLUDE_DIR}/xsimd/config/xsimd_arch.hpp
${XSIMD_INCLUDE_DIR}/xsimd/config/xsimd_config.hpp
Expand All @@ -70,6 +72,7 @@ ${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_fma3_sse_register.hpp
${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_fma4_register.hpp
${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_common_arch.hpp
${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_register.hpp
${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_altivec_register.hpp
${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_rvv_register.hpp
${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_sse2_register.hpp
${XSIMD_INCLUDE_DIR}/xsimd/types/xsimd_sse3_register.hpp
Expand Down
1 change: 1 addition & 0 deletions docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ INPUT = ../include/xsimd/types/xsimd_api.hpp \
../include/xsimd/memory/xsimd_aligned_allocator.hpp \
../include/xsimd/types/xsimd_common_arch.hpp \
../include/xsimd/types/xsimd_traits.hpp \
../include/xsimd/types/xsimd_altivec_register.hpp \
../include/xsimd/types/xsimd_avx2_register.hpp \
../include/xsimd/types/xsimd_avx512bw_register.hpp \
../include/xsimd/types/xsimd_avx512cd_register.hpp \
Expand Down
Loading
Loading