I presume this is because all / any exit early if they can, which might prevent SIMD?
julia> @btime all(isfinite, x) setup=x=randn(Float32, 10000)
min 3.125 μs, mean 3.180 μs (0 allocations)
true
julia> @btime isfinite(sum(x)) setup=x=randn(Float32, 10000)
min 804.945 ns, mean 813.873 ns (0 allocations)
true
julia> @btime all(isfinite, x) setup=(x=randn(Float32, 10000); x[33] = Inf) # much faster
min 12.387 ns, mean 12.580 ns (0 allocations)
false
julia> @btime isfinite(sum(x)) setup=(x=randn(Float32, 10000); x[33] = Inf) # the same
min 804.945 ns, mean 811.919 ns (0 allocations)
false
Also note that you can multiply by zero without the allocation:
julia> @btime isfinite(sum(x .* 0)) setup=x=randn(Float32, 10000)
min 1.429 μs, mean 2.423 μs (2 allocations, 39.11 KiB)
true
julia> @btime isfinite(sum(y -> y*0, x)) setup=x=randn(Float32, 10000)
min 949.261 ns, mean 962.644 ns (0 allocations)
true