Haven't RTFA but would zeroing registers fix this (-mzero-caller-saved-regs=used)?
Recent Zenbleed vulnerability was an example of that — clearing of a register was setting a temporary boolean saying it's zeroed instead of writing actual zeros.
However, general purpose registers are also loaded passing through this buffer during context switches.