diff --git a/vm/cpu-ppc.S b/vm/cpu-ppc.S index 1071d8b8a9..40f2521e50 100644 --- a/vm/cpu-ppc.S +++ b/vm/cpu-ppc.S @@ -43,7 +43,7 @@ DEF(void,primitive_fixnum_multiply,(void *vm)): stw r6,0(DS_REG) blr multiply_overflow: - srawi r4,r4,3 + srawi r4,r4,4 b MANGLE(overflow_fixnum_multiply) /* Note that the XT is passed to the quotation in r11 */ diff --git a/vm/cpu-x86.S b/vm/cpu-x86.S index 706369876f..846300120d 100644 --- a/vm/cpu-x86.S +++ b/vm/cpu-x86.S @@ -33,7 +33,7 @@ DEF(void,primitive_fixnum_multiply,(void *myvm)): pop ARG2 ret multiply_overflow: - sar $3,ARITH_TEMP_1 + sar $4,ARITH_TEMP_1 mov ARITH_TEMP_1,ARG0 mov ARITH_TEMP_2,ARG1 pop ARG2