Fix sdiv and sdiv.alt instructions

They both produced wrong results when the dividend was
negative because eax was not sign extended to edx:eax
before doing idiv (instead, edx was just zeroed out!).
Remove needless xor(edx,edx) in mul and umul instructions

edx is not a source operand but rather a destination so why clear it?