···4040// concatenation of the low 32 bits of HI and LO.
4141:function:::void:do_vr_mul_op:int rd, int rs, int rt, int accumulate_p, int store_hi_p, int unsigned_p, int saturate_p, int subtract_p, int short_p, int double_p
4242{
4343- unsigned64 lhs, x, y, xcut, ycut, product, result;
4343+ uint64_t lhs, x, y, xcut, ycut, product, result;
44444545 check_mult_hilo (SD_, HIHISTORY, LOHISTORY);
4646···8282 /* Saturate the result to 32 bits. An unsigned, unsaturated
8383 result is zero-extended to 64 bits, but unsigned overflow
8484 causes all 64 bits to be set. */
8585- if (!unsigned_p && (unsigned64) EXTEND32 (result) != result)
8686- result = ((signed64) result < 0 ? -0x7fffffff - 1 : 0x7fffffff);
8585+ if (!unsigned_p && (uint64_t) EXTEND32 (result) != result)
8686+ result = ((int64_t) result < 0 ? -0x7fffffff - 1 : 0x7fffffff);
8787 else if (unsigned_p && (result >> 32) != 0)
8888- result = (unsigned64) 0 - 1;
8888+ result = (uint64_t) 0 - 1;
8989 }
9090 TRACE_ALU_RESULT (result);
9191