Interesting. I thought they would do register renaming for thread switching as they do for speculative execution. Is this not the case?
[1] The AMD interactions between CPL, CS, and SS are so messy that there's still an unresolved crash when KVM runs an older Linux guest and exits all the way out to QEMU to handle, say, a virtio interrupt at the wrong time. QEMU tries and fails to read the state and write it back fully.