To be fair, this can be done in GNU C as well. Like the Zig implementation, you'd still have to use inline assembly.
I see, so you're saying that GCC can be coaxed into gathering only the relevant registers to stack and unstack not blindly do all of them?