Part of patchset to add initial support for ARM64EC.
I'm not completely sure I understand the reason for this restriction, but Microsoft documentation says that asynchronous signals clobber these registers, so we can't ever use them.
As far as I know, none of these registers have any hardcoded meaning, so reserving them shouldn't have any significant side-effects.
The comment says v16-v31 but the code seems to go from 15 to 31 - is that a typo? (Based on the comment in the testcase, the code is right and the comment above is the one that is wrong.)