some of the useless mov removal code has to happen on the final asm code