Checking whether GCC or Clang actually vectorized a loop with -fopt-info-vec is a routine step for performance engineers optimizing numerical code, and it's exactly the workflow behind tools like Compiler Explorer (godbolt.org) that let you inspect the real generated assembly. The restrict keyword and simple-loop-shape requirements you learn here are the same constraints performance-critical C libraries are written to satisfy so compilers can vectorize them automatically.