MSVC is the only compiler to apply optimizations based on restrict on local variables, which it immediately remediates by generating a lot more stack shuffling than GCC or Clang: https://godbolt.org/z/954dGcabx
GCC (but not Clang) also seems to ignore restrict on a func param, for a reason I can’t comprehend since PARM_NOALIAS shows up in pass details: https://godbolt.org/z/Yr475sn7z