require_vector_vs; P_LOOP(32, { int64_t mres = (int64_t)ps1 * P_SH(ps2, 1); int32_t round = (((mres >> 15) + 1) >> 1); bool sat = false; pd = (sat_add(pd, round, sat)); P_SET_OV(sat); })