aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vfredsum_vs.h
blob: 2e48d09d3e9f8a398453eca39eb7883fb5164b85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// vfredsum: vd[0] =  sum( vs2[*] , vs1[0] )
switch (p->VU.fredsum_impl) {
  case processor_t::vectorUnit_t::ORDERED_FREDSUM_IMPL: { /* Ordered reduction sum */
    #include "vfredosum_vs.h"
    }
    break;
  case processor_t::vectorUnit_t::PARALLEL_FREDSUM_IMPL: { /* Parallel reduction sum */
    #include "vfredsum_vs_parallel.h"
    }
    break;
  default:
    require(0);
}