vloxei16.v
No synopsis available.
This instruction is defined by:
-
V, version >= 0
This instruction is included in the following profiles:
-
RVA22S64 (Optional)
-
RVA22U64 (Optional)
Decode Variables
Bits<3> nf = $encoding[31:29];
Bits<1> vm = $encoding[25];
Bits<5> vs2 = $encoding[24:20];
Bits<5> rs1 = $encoding[19:15];
Bits<5> vd = $encoding[11:7];
Execution
-
IDL
-
Sail
{
let EEW_index_pow = vlewidth_pow(width);
let EEW_index_bytes = vlewidth_bytesnumber(width);
let EEW_data_pow = get_sew_pow();
let EEW_data_bytes = get_sew_bytes();
let EMUL_data_pow = get_lmul_pow();
let EMUL_index_pow = EEW_index_pow - EEW_data_pow + EMUL_data_pow;
let num_elem = get_num_elem(EMUL_data_pow, EEW_data_bytes * 8);
let nf_int = nfields_int(nf);
if illegal_indexed_load(vd, vm, nf_int, EEW_index_bytes * 8, EMUL_index_pow, EMUL_data_pow) then { handle_illegal(); return RETIRE_FAIL };
process_vlxseg(nf_int, vm, vd, EEW_index_bytes, EEW_data_bytes, EMUL_index_pow, EMUL_data_pow, rs1, vs2, num_elem, 3)
}