aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/kmmsb_u.h
blob: c7b283eaa8d8afbdab90da6c80a6f8de243615a1 (plain)
1
2
3
4
5
6
7
8
require_vector_vs;
P_LOOP(32, {
  int64_t mres = (int64_t) ps1 * (int64_t) ps2;
  int32_t round = (((mres >> 31) + 1) >> 1);
  bool sat = false;
  pd = (sat_sub<int32_t, uint32_t>(pd, round, sat));
  P_SET_OV(sat);
})