aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/kslra16_u.h
blob: 8335f3e81f68e974a35961ee543edd562004feaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require_vector_vs;
P_X_LOOP(16, 5, {
  if (ssa < 0) {
    sa = -ssa;
    sa = (sa == 16) ? 15 : sa;
    if(sa != 0)
      pd = ((ps1 >> (sa - 1)) + 1) >> 1;
    else
      pd = ps1;
  } else {
    auto res = (sreg_t)ps1 << ssa;
    P_SAT(res, 16);
    pd = res;
  }
})