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}