Implement int32 multiply semantics
Fix imul being used in cases where it shouldn't.