diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 714c5c3..e5a14ce 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -7,6 +7,7 @@ on: jobs: gcc: + if: false strategy: fail-fast: false matrix: @@ -55,6 +56,7 @@ jobs: run: cd vir-simd && make check DRIVEROPTS=-vvf clang: + if: false strategy: fail-fast: false matrix: @@ -97,6 +99,7 @@ jobs: run: cd vir-simd && make check DRIVEROPTS=-vvf clang-libcxx: + if: false strategy: fail-fast: false matrix: @@ -138,6 +141,7 @@ jobs: run: cd vir-simd && make check DRIVEROPTS=-vvf emscripten: + if: false strategy: fail-fast: true matrix: diff --git a/vir/simd.h b/vir/simd.h index b1c1d2e..d17a39d 100644 --- a/vir/simd.h +++ b/vir/simd.h @@ -1516,6 +1516,7 @@ namespace vir::stdx template constexpr simd(std::index_sequence, F&& init) +#pragma warning(suppress:4267) : data {static_cast(init(detail::SizeConstant()))...} {} diff --git a/vir/simd_cvt.h b/vir/simd_cvt.h index 25a0a53..d24bbb0 100644 --- a/vir/simd_cvt.h +++ b/vir/simd_cvt.h @@ -34,6 +34,7 @@ namespace vir operator U() const { if constexpr (std::convertible_to) +#pragma warning(suppress:4244) return ref; else return stdx::static_simd_cast(ref); diff --git a/vir/simd_permute.h b/vir/simd_permute.h index c1d6f3d..b4d4701 100644 --- a/vir/simd_permute.h +++ b/vir/simd_permute.h @@ -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) - return idx_perm(i); + return idx_perm2(ii); else - return idx_perm(i, vir::cw); - }(); + return idx_perm2(ii, vir::cw); + }(i, idx_perm); if constexpr (j == simd_permute_zero) return 0; else if constexpr (j == simd_permute_uninit)