Basically, it informs the compiler that there are no other variables in the current function that point to the same data as your __restricted variable. It's used to manually prevent the compiler from having the CPU write data to memory, and then try to read it back again too soon, in which case the CPU will stall for a rather large number of cycles because there wasn't enough time to get the data all the way to main memory before the CPU tried to pull it back again. It is not
an MS-specific extension.
I was surprised to find a rather detailed article demonstrating the use of __restricted here
Hope this helps, Ehtyar.