aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vsaddu_vi.h
blob: 3f03fd247ef72bc4b826388aa101bba416246a4e (plain)
1
2
3
4
5
6
7
8
9
10
11
// vsaddu vd, vs2, simm5
VI_VI_ULOOP
({
  bool sat = false;
  vd = vs2 + (insn.v_simm5() & (UINT64_MAX >> (64 - P.VU.vsew)));

  sat = vd < vs2;
  vd |= -(vd < vs2);

  P.VU.vxsat |= sat;
})