aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/sclip8.h
blob: afd9c69292a9c95d06d271c920b6c1b06c279f89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
require_vector_vs;
P_I_LOOP(8, 3, {
  int64_t int_max = INT64_MAX >> (64 - (imm3u + 1));
  int64_t int_min = INT64_MIN >> (64 - (imm3u + 1));
  pd = ps1;

  if (ps1 > int_max) {
    pd = int_max;
    P_SET_OV(1);
  } else if (ps1 < int_min) {
    pd = int_min;
    P_SET_OV(1);
  }
})