X86 has some calling conventions where bits 127:0 of a vector register are callee saved, but the upper bits aren't. Previously we could detect that the full ymm register was clobbered when the xmm portion was really preserved. This patch checks the subregisters to make sure they aren't preserved.
Fixes PR44140
Is it useful to make this logic available to everyone? If so, this becomes a 1-line patch that would call something like:
Even if that's not worth adding, it would be easier reading if we had something like that as a static or lambda in this pass.