Skip to content

Commit

Permalink
WIP: MSVC, how can I help you?
Browse files Browse the repository at this point in the history
  • Loading branch information
mattkretz committed Sep 14, 2024
1 parent 6c34e63 commit 3029974
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:

jobs:
gcc:
if: false
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -55,6 +56,7 @@ jobs:
run: cd vir-simd && make check DRIVEROPTS=-vvf

clang:
if: false
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -97,6 +99,7 @@ jobs:
run: cd vir-simd && make check DRIVEROPTS=-vvf

clang-libcxx:
if: false
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -138,6 +141,7 @@ jobs:
run: cd vir-simd && make check DRIVEROPTS=-vvf

emscripten:
if: false
strategy:
fail-fast: true
matrix:
Expand Down
1 change: 1 addition & 0 deletions vir/simd.h
Original file line number Diff line number Diff line change
Expand Up @@ -1516,6 +1516,7 @@ namespace vir::stdx
template <typename F, size_t... Is>
constexpr
simd(std::index_sequence<Is...>, F&& init)
#pragma warning(suppress:4267)
: data {static_cast<value_type>(init(detail::SizeConstant<Is>()))...}
{}

Expand Down
1 change: 1 addition & 0 deletions vir/simd_cvt.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ namespace vir
operator U() const
{
if constexpr (std::convertible_to<T, U>)
#pragma warning(suppress:4244)
return ref;
else
return stdx::static_simd_cast<U>(ref);
Expand Down
8 changes: 4 additions & 4 deletions vir/simd_permute.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,12 +205,12 @@ namespace vir
#endif // __GNUC__

return R([&](auto i) -> T {
constexpr int j = [&] {
constexpr int j = [&](auto ii, F const idx_perm2) {
if constexpr (detail::index_permutation_function_nosize<F>)
return idx_perm(i);
return idx_perm2(ii);
else
return idx_perm(i, vir::cw<V::size()>);
}();
return idx_perm2(ii, vir::cw<V::size()>);
}(i, idx_perm);
if constexpr (j == simd_permute_zero)
return 0;
else if constexpr (j == simd_permute_uninit)
Expand Down

0 comments on commit 3029974

Please sign in to comment.