I think the issue with code vectorization is that the compiler must know that the given loop can run out-of-order. I don't know if that is something that LLVM can do reliably.
The main issue here is that LLVM thinks AVX512 is slow (which it sometimes is).