X86's CMOV conversion transforms CMOV instructions into control flow between blocks, meaning the value is computed by a PHI rather than a "real" machine instruction. In instruction-referencing mode, we need to transfer the instruction label between the old CMOV and the new PHI instruction to mark where the variable value is computed.
There's an extra complication in that memory operands can be unfolded from the CMOV and sunk into the new blocks -- the test checks both scenarios where the instruction number has to hop between instructions.
This omission exposed by Dexter testing :O !
Do these CHECK lines cover both functions / part of the test? IMO it's not entirely clear. Maybe it's worth adding another CHECK-LABEL to improve clarity?