Bug analyzed more: it occurs when there is an assignment to a register class with concatenated registers, the result is needed for something, the move between node temp and dest register is removed in Freeze() and the registers got overlapping registers in coloring.