This library provides an Rcpp wrapper around Xsimd that is a
modern, portable C++14 header-only library for SIMD
intrinsics and parallelized, optimized math implementations.
library(RcppXsimd)
?supportsAVX
if (supportsAVX()) {
  Sys.setenv(PKG_CPPFLAGS = "-mavx")
  Rcpp::sourceCpp(verbose = TRUE, code='
    // [[Rcpp::plugins(cpp14)]]
    // [[Rcpp::depends(RcppXsimd)]]
    #include <Rcpp.h>
    #include "xsimd/xsimd.hpp"
    // [[Rcpp::export]]
    void demoAVX() {
      xsimd::batch<double, 4> a(1.0);
      xsimd::batch<double, 4> b(1.0);
      Rcpp::Rcout << a << " + " << b << " = " << (a + b) << std::endl;
    }')
  demoAVX()
} else {
  message("AVX is not supported")
}