require_vector_vs; P_64_PROFILE_BASE() P_64_PROFILE_PARAM(true, false) bool sat = false; sreg_t mres0 = (sreg_t)P_SW(rs1, 0) * P_SW(rs2, 0); sreg_t mres1 = (sreg_t)P_SW(rs1, 1) * P_SW(rs2, 1); if (xlen == 32) { rd = (sat_add(rd, mres0, sat)); } else { rd = (sat_add(rd, mres0, mres1, sat)); } P_SET_OV(sat); P_64_PROFILE_END()