It turns out that LLVM is able to use the non-array SIMD vectorised functions if you give it enough hints, see https://github.com/JuliaLang/julia/issues/15265. It would be neat if we could expose this via this package.