diff --git a/examples/nbody/nbody.cpp b/examples/nbody/nbody.cpp index a0f51515c3..455aeb5c7c 100644 --- a/examples/nbody/nbody.cpp +++ b/examples/nbody/nbody.cpp @@ -1630,6 +1630,8 @@ set y2tics auto #endif #ifdef HAVE_XSIMD using Simd = xsimd::batch; + using Simd8 = xsimd::make_sized_batch_t; + using Simd16 = xsimd::make_sized_batch_t; // for (auto innerLoopSimd : {false, true}) // for (auto tiled : {false, true}) // { @@ -1637,7 +1639,12 @@ set y2tics auto // continue; // r += manualAoSoA_SIMD::main(plotFile, innerLoopSimd, tiled); // } - finalPositions.push_back(manualAoSoASIMD::main(plotFile, false, false)); + if constexpr(Simd::size != 8 && Simd::size != 16) + finalPositions.push_back(manualAoSoASIMD::main(plotFile, false, false)); + if constexpr(!std::is_void_v) + finalPositions.push_back(manualAoSoASIMD::main(plotFile, false, false)); + if constexpr(!std::is_void_v) + finalPositions.push_back(manualAoSoASIMD::main(plotFile, false, false)); // mp_for_each>( // [&](auto lanes) // {