Whether or not the compiler will be smart enough to autovectorize is a different question.
C compilers don't validate correct use of restrict.
These LLVM bugs don't get noticed with C because C programs rarely use `restrict` as pervasively as a downleveled Rust program ends up doing.