x86: implement division (idivl/cdq weirdness)