aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/kslra32.h
blob: 871d60115ec3cd2ac34c8431b5cc013feb439aad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
require_vector_vs;
require_rv64;
P_X_LOOP(32, 6, {
  if (ssa < 0) {
    sa = -ssa;
    sa = (sa == 32) ? 31 : sa;
    pd = ps1 >> sa;
  } else {
    auto res = (sreg_t)ps1 << ssa;
    P_SAT(res, 32);
    pd = res;
  }
})