@@ -5,136 +5,6 @@ concurrency:
55 cancel-in-progress : true
66
77jobs :
8- build-windows-x86 :
9- name : ' MSVC ${{ matrix.os }}, ${{ matrix.target }} ${{ matrix.sys.set }}'
10- defaults :
11- run :
12- shell : bash {0}
13- strategy :
14- matrix :
15- os :
16- - 2022
17- - 2025
18- target :
19- - x86
20- - x64
21- sys :
22- - { set: SSE, flags: "/arch:SSE2" }
23- - { set: AVX, flags: "/arch:AVX" }
24- - { set: AVX2, flags: "/arch:AVX2" }
25- - { set: AVX512, flags: "/arch:AVX512" }
26- exclude :
27- # AVX on both platforms has a codegen error
28- # On 2019 in _mm256_rsqrt_ps, on 2022 in _mm256_blend_p*
29- - { sys: { set: AVX } }
30- # On both platforms x86 + AVX512 triggers a compiler crash
31- - { target: x86, sys: { set: AVX512 } }
32- # /arch:SSE2 is not available on x64 platforms (SSE2 is enabled by default)
33- - { target: x64, sys: { set: SSE} }
34- runs-on : windows-${{ matrix.os }}
35- steps :
36- - name : Setup compiler
37- uses : ilammy/msvc-dev-cmd@v1
38- with :
39- arch : ${{ matrix.target }}
40- - name : Setup Ninja
41- run : |
42- python3 -m pip install --upgrade pip setuptools wheel
43- python3 -m pip install ninja
44- - name : Checkout xsimd
45- uses : actions/checkout@v6
46- - name : Setup
47- run : cmake -B _build -DBUILD_TESTS=ON -DDOWNLOAD_DOCTEST=ON -DBUILD_BENCHMARK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="${{ matrix.sys.flags }}" -G Ninja
48- - name : Build
49- run : cmake --build _build
50- - name : Testing xsimd
51- if : ${{ !startsWith(matrix.sys.set, 'AVX512') }}
52- env :
53- # Set CPU feature test expectations
54- # Assuming the runner always has AVX2 (independent of compilation option)
55- XSIMD_TEST_CPU_ASSUME_NEON64 : " 0"
56- XSIMD_TEST_CPU_ASSUME_SSE4_2 : " 1"
57- XSIMD_TEST_CPU_ASSUME_AVX2 : " 1"
58- XSIMD_TEST_CPU_ASSUME_MANUFACTURER : " intel,amd"
59- run : ./_build/test/test_xsimd
60-
61- build-windows-mingw :
62- name : ' MSYS2 ${{ matrix.msystem }}'
63- runs-on : windows-2022
64- defaults :
65- run :
66- shell : msys2 {0}
67- strategy :
68- matrix :
69- # Temporarily remove MINGW64 and UCRT64 builds because
70- # GCC 12 gives an unexpected overflow warning for __builtin_memmove
71- # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106199
72- msystem : [ MINGW32, CLANG64 ]
73- # msystem: [ MINGW32, MINGW64, UCRT64, CLANG32, CLANG64 ]
74- fail-fast : false
75- steps :
76- - name : Use MinGW from MSYS2
77- uses : msys2/setup-msys2@v2
78- with :
79- msystem : ${{ matrix.msystem }}
80- update : true
81- path-type : minimal
82- pacboy : >-
83- cc:p
84- cmake:p
85- ninja:p
86- - name : Checkout xsimd
87- uses : actions/checkout@v6
88- - name : Configure
89- run : cmake -B _build -DBUILD_TESTS=ON -DBUILD_BENCHMARK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release -DDOWNLOAD_DOCTEST=ON -G Ninja
90- - name : Build
91- run : cmake --build _build
92- - name : Test
93- run : ./_build/test/test_xsimd
94-
95- build-windows-clang-cl :
96- name : ' clang-cl x64 ${{ matrix.config.name }}'
97- defaults :
98- run :
99- shell : bash {0}
100- strategy :
101- matrix :
102- config :
103- - { name: "AVX2", flags: "/arch:AVX2", benchmark: "ON", examples: "ON" }
104- - { name: "/fp:fast", flags: "/fp:fast", benchmark: "OFF", examples: "OFF" }
105- runs-on : windows-2025
106- steps :
107- - name : Setup compiler
108- uses : ilammy/msvc-dev-cmd@v1
109- with :
110- arch : amd64
111- - name : Check clang-cl
112- run : |
113- command -v clang-cl
114- clang-cl --version
115- - name : Setup Ninja
116- run : |
117- python3 -m pip install --upgrade pip setuptools wheel
118- python3 -m pip install ninja
119- - name : Checkout xsimd
120- uses : actions/checkout@v3
121- - name : Setup
122- run : |
123- cmake -B _build \
124- -DBUILD_TESTS=ON \
125- -DDOWNLOAD_DOCTEST=ON \
126- -DBUILD_BENCHMARK=${{ matrix.config.benchmark }} \
127- -DBUILD_EXAMPLES=${{ matrix.config.examples }} \
128- -DCMAKE_BUILD_TYPE=Release \
129- -DCMAKE_C_COMPILER=clang-cl \
130- -DCMAKE_CXX_COMPILER=clang-cl \
131- -DCMAKE_CXX_FLAGS="${{ matrix.config.flags }} -DXSIMD_REASSOCIATIVE_MATH=1" \
132- -G Ninja
133- - name : Build
134- run : cmake --build _build
135- - name : Testing xsimd
136- run : ./_build/test/test_xsimd
137-
1388 build-windows-arm64 :
1399 name : ' MSVC arm64'
14010 defaults :
0 commit comments