Two issues:
- t2CMPri shouldn't use CPSR if it isn't predicated. This doesn't really have any visible effect at the moment, but it might matter in the future.
- The t2CMPri generated for t2WhileLoopStart might need to use a register that isn't LR.
My team found this because we have a patch to track register liveness late in the pass pipeline. I'll look into upstreaming it to help catch issues like this earlier.