eeric_core/rv_core/instruction/executor/v/
vid.rs

1use crate::rv_core::instruction::executor::prelude::*;
2
3pub fn v(
4    Vmunary0 {
5        dest: vd,
6        vs2: _,
7        vm,
8        ..
9    }: Vmunary0,
10    v: &mut VectorContext<'_>,
11) {
12    let vreg = v
13        .get(vd)
14        .iter_eew()
15        .enumerate()
16        .masked_map(v.default_mask(vm), v.get(vd).iter_eew(), |(i, _)| i as u64)
17        .collect_with_eew(v.vec_engine.sew);
18
19    v.apply(vd, vreg);
20}