s/restrict/__restrict/
`restrict` is not a keyword in C++, but `__restrict` is understood by GCC-ish compilers.