phoebewang wrote: It looks to me like both 2) and 4) are caused due to we only changed the register class in MI but not in its use. Can we simply iterate all their uses and change to the same register class? https://github.com/llvm/llvm-project/pull/139285