From 3f860c6d6d34a85e7e712f696959d902a6f24266 Mon Sep 17 00:00:00 2001 From: Brian Date: Thu, 28 Nov 2024 22:46:03 -0700 Subject: [PATCH 01/13] Draft riscv-opcodes generator --- opcodes_maker/generate_instr_dict.py | 148 + opcodes_maker/instr_dict.json | 15446 +++++++++++++++++++++++++ opcodes_maker/sorter.py | 28 + 3 files changed, 15622 insertions(+) create mode 100644 opcodes_maker/generate_instr_dict.py create mode 100644 opcodes_maker/instr_dict.json create mode 100644 opcodes_maker/sorter.py diff --git a/opcodes_maker/generate_instr_dict.py b/opcodes_maker/generate_instr_dict.py new file mode 100644 index 000000000..3560cbb93 --- /dev/null +++ b/opcodes_maker/generate_instr_dict.py @@ -0,0 +1,148 @@ +from typing import List, Dict +import os +import yaml +import json + + +def range_size(range_str: str) -> int: + try: + end, start = map(int, range_str.split('-')) + return abs(end - start) + 1 + except ValueError: + return 0; + +reg_names = {'qs1', 'qs2', 'qd', + 'fs1', 'fs2', 'fd'} + +def GetVariables(vars: List[Dict[str, str]]): + var_names = [] + for var in vars: + var_name = var['name'] + if var_name in reg_names: + # Since strings are immutable. + lst_var_name = list(var_name) + lst_var_name[0] = 'r' + var_name = "".join(lst_var_name) + elif var_name == "shamt": + size = range_size(var['location']) + if size == 5: + var_name = "shamtw" + elif size == 6: + var_name = "shamtd" + var_names.append(var_name) + var_names.reverse() + + return var_names + +def BitStringToHex(bit_str: str) -> str: + new_bit_str = "" + for bit in bit_str: + if bit == '-': + new_bit_str += '0' + else: + new_bit_str += bit + return hex(int(new_bit_str, 2)) + +def GetMask(bit_str: str) -> str: + mask_str = "" + for bit in bit_str: + if bit == '-': + mask_str += '0' + else: + mask_str += '1' + return hex(int(mask_str, 2)) + +def GetExtension(ext, base): + prefix = f'rv{base}_' + final_extensions = [] + + if isinstance(ext, str): + final_extensions.append(prefix + ext.lower()) + elif isinstance(ext, dict): + for _, extensions in ext.items(): + for extension in extensions: + final_extensions.append(prefix + extension.lower()) + final_extensions.reverse() + + return final_extensions + +def find_first_match(data): + if isinstance(data, dict): + for key, value in data.items(): + if key == "match": + return value + elif isinstance(value, (dict, list)): + result = find_first_match(value) + if result is not None: + return result + elif isinstance(data, list): + for item in data: + result = find_first_match(item) + if result is not None: + return result + return "" + +def GetEncodings(enc: str): + n = len(enc) + if n < 32: + return '-' * (32-n) + enc + return enc + +def convert(file_dir: str, json_out): + with open(file_dir, 'r') as file: + data = yaml.safe_load(file) + instr_name = data['name'].replace('.', '_') + + print(instr_name) + encodings = data['encoding'] + + # USE RV_64 + rv64_flag = False + if 'RV64' in encodings: + encodings = encodings['RV64'] + rv64_flag = True + enc_match = GetEncodings(encodings['match']) + + var_names = [] + if 'variables' in encodings: + var_names = GetVariables(encodings['variables']) + + extension = [] + prefix = "" + if rv64_flag: + prefix = "64" + if "base" in data: + extension = GetExtension(data["definedBy"], data["base"]) + else: + extension = GetExtension(data["definedBy"], prefix) + + match_hex = BitStringToHex(enc_match) + match_mask = GetMask(enc_match) + + json_out[instr_name] = { + "encoding": enc_match, + "variable_fields": var_names, + "extension": extension, + "match": match_hex, + "mask": match_mask + } + +def read_yaml_insts(path: str): + yaml_files = [] + for root, _, files in os.walk(path): + for file in files: + if file.endswith('.yaml') or file.endswith('.yml'): + yaml_files.append(os.path.join(root, file)) + return yaml_files + +def main(): + directory = "../arch/inst/" + insts = read_yaml_insts(directory) + + inst_dict = {} + with open('data.json', 'w') as outfile: + for inst_dir in insts: + convert(inst_dir, inst_dict) + json.dump(inst_dict, outfile, indent=4) +main() + diff --git a/opcodes_maker/instr_dict.json b/opcodes_maker/instr_dict.json new file mode 100644 index 000000000..61d282169 --- /dev/null +++ b/opcodes_maker/instr_dict.json @@ -0,0 +1,15446 @@ +{ + "vsm3c_vi": { + "encoding": "1010111----------010-----1110111", + "variable_fields": [ + "vs2", + "zimm5", + "vd" + ], + "extension": [ + "rv_zvksh", + "rv_zvks" + ], + "match": "0xae002077", + "mask": "0xfe00707f" + }, + "vsm3me_vv": { + "encoding": "1000001----------010-----1110111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvksh", + "rv_zvks" + ], + "match": "0x82002077", + "mask": "0xfe00707f" + }, + "vsm4k_vi": { + "encoding": "1000011----------010-----1110111", + "variable_fields": [ + "vs2", + "zimm5", + "vd" + ], + "extension": [ + "rv_zvksed", + "rv_zvks" + ], + "match": "0x86002077", + "mask": "0xfe00707f" + }, + "vsm4r_vv": { + "encoding": "1010001-----10000010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvksed", + "rv_zvks" + ], + "match": "0xa2082077", + "mask": "0xfe0ff07f" + }, + "vsm4r_vs": { + "encoding": "1010011-----10000010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvksed", + "rv_zvks" + ], + "match": "0xa6082077", + "mask": "0xfe0ff07f" + }, + "vsha2ms_vv": { + "encoding": "1011011----------010-----1110111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvknha", + "rv_zvknhb", + "rv_zvkn" + ], + "match": "0xb6002077", + "mask": "0xfe00707f" + }, + "vsha2ch_vv": { + "encoding": "1011101----------010-----1110111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvknha", + "rv_zvknhb", + "rv_zvkn" + ], + "match": "0xba002077", + "mask": "0xfe00707f" + }, + "vsha2cl_vv": { + "encoding": "1011111----------010-----1110111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvknha", + "rv_zvknhb", + "rv_zvkn" + ], + "match": "0xbe002077", + "mask": "0xfe00707f" + }, + "vaesdf_vv": { + "encoding": "1010001-----00001010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa200a077", + "mask": "0xfe0ff07f" + }, + "vaesdf_vs": { + "encoding": "1010011-----00001010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa600a077", + "mask": "0xfe0ff07f" + }, + "vaesdm_vv": { + "encoding": "1010001-----00000010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa2002077", + "mask": "0xfe0ff07f" + }, + "vaesdm_vs": { + "encoding": "1010011-----00000010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa6002077", + "mask": "0xfe0ff07f" + }, + "vaesef_vv": { + "encoding": "1010001-----00011010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa201a077", + "mask": "0xfe0ff07f" + }, + "vaesef_vs": { + "encoding": "1010011-----00011010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa601a077", + "mask": "0xfe0ff07f" + }, + "vaesem_vv": { + "encoding": "1010001-----00010010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa2012077", + "mask": "0xfe0ff07f" + }, + "vaesem_vs": { + "encoding": "1010011-----00010010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa6012077", + "mask": "0xfe0ff07f" + }, + "vaesz_vs": { + "encoding": "1010011-----00111010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xa603a077", + "mask": "0xfe0ff07f" + }, + "vaeskf1_vi": { + "encoding": "1000101----------010-----1110111", + "variable_fields": [ + "vs2", + "zimm5", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0x8a002077", + "mask": "0xfe00707f" + }, + "vaeskf2_vi": { + "encoding": "1010101----------010-----1110111", + "variable_fields": [ + "vs2", + "zimm5", + "vd" + ], + "extension": [ + "rv_zvkned", + "rv_zvkn" + ], + "match": "0xaa002077", + "mask": "0xfe00707f" + }, + "vgmul_vv": { + "encoding": "1010001-----10001010-----1110111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_zvkg" + ], + "match": "0xa208a077", + "mask": "0xfe0ff07f" + }, + "vghsh_vv": { + "encoding": "1011001----------010-----1110111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvkg" + ], + "match": "0xb2002077", + "mask": "0xfe00707f" + }, + "vfwmaccbf16_vv": { + "encoding": "111011-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvfbfwma" + ], + "match": "0xec001057", + "mask": "0xfc00707f" + }, + "vfwmaccbf16_vf": { + "encoding": "111011-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_zvfbfwma" + ], + "match": "0xec005057", + "mask": "0xfc00707f" + }, + "vfncvtbf16_f_f_w": { + "encoding": "010010------11101001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvfbfmin" + ], + "match": "0x480e9057", + "mask": "0xfc0ff07f" + }, + "vfwcvtbf16_f_f_v": { + "encoding": "010010------01101001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvfbfmin" + ], + "match": "0x48069057", + "mask": "0xfc0ff07f" + }, + "vclmul_vv": { + "encoding": "001100-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvbc", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x30002057", + "mask": "0xfc00707f" + }, + "vclmul_vx": { + "encoding": "001100-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_zvbc", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x30006057", + "mask": "0xfc00707f" + }, + "vclmulh_vv": { + "encoding": "001101-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvbc", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x34002057", + "mask": "0xfc00707f" + }, + "vclmulh_vx": { + "encoding": "001101-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_zvbc", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x34006057", + "mask": "0xfc00707f" + }, + "vandn_vv": { + "encoding": "000001-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x4000057", + "mask": "0xfc00707f" + }, + "vandn_vx": { + "encoding": "000001-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x4004057", + "mask": "0xfc00707f" + }, + "vbrev_v": { + "encoding": "010010------01010010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x48052057", + "mask": "0xfc0ff07f" + }, + "vbrev8_v": { + "encoding": "010010------01000010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x48042057", + "mask": "0xfc0ff07f" + }, + "vrev8_v": { + "encoding": "010010------01001010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x4804a057", + "mask": "0xfc0ff07f" + }, + "vclz_v": { + "encoding": "010010------01100010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x48062057", + "mask": "0xfc0ff07f" + }, + "vctz_v": { + "encoding": "010010------01101010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x4806a057", + "mask": "0xfc0ff07f" + }, + "vcpop_v": { + "encoding": "010010------01110010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x48072057", + "mask": "0xfc0ff07f" + }, + "vrol_vv": { + "encoding": "010101-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x54000057", + "mask": "0xfc00707f" + }, + "vrol_vx": { + "encoding": "010101-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x54004057", + "mask": "0xfc00707f" + }, + "vror_vv": { + "encoding": "010100-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x50000057", + "mask": "0xfc00707f" + }, + "vror_vx": { + "encoding": "010100-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x50004057", + "mask": "0xfc00707f" + }, + "vror_vi": { + "encoding": "01010------------011-----1010111", + "variable_fields": [ + "zimm6hi", + "vm", + "vs2", + "zimm6lo", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0x50003057", + "mask": "0xf800707f" + }, + "vwsll_vv": { + "encoding": "110101-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0xd4000057", + "mask": "0xfc00707f" + }, + "vwsll_vx": { + "encoding": "110101-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0xd4004057", + "mask": "0xfc00707f" + }, + "vwsll_vi": { + "encoding": "110101-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "zimm5", + "vd" + ], + "extension": [ + "rv_zvbb", + "rv_zvks", + "rv_zvkn" + ], + "match": "0xd4003057", + "mask": "0xfc00707f" + }, + "sm3p0": { + "encoding": "000100001000-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zksh", + "rv_zks" + ], + "match": "0x10801013", + "mask": "0xfff0707f" + }, + "sm3p1": { + "encoding": "000100001001-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zksh", + "rv_zks" + ], + "match": "0x10901013", + "mask": "0xfff0707f" + }, + "sm4ed": { + "encoding": "--11000----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "bs" + ], + "extension": [ + "rv_zksed", + "rv_zks" + ], + "match": "0x30000033", + "mask": "0x3e00707f" + }, + "sm4ks": { + "encoding": "--11010----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "bs" + ], + "extension": [ + "rv_zksed", + "rv_zks" + ], + "match": "0x34000033", + "mask": "0x3e00707f" + }, + "sha256sum0": { + "encoding": "000100000000-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zknh", + "rv_zkn", + "rv_zk" + ], + "match": "0x10001013", + "mask": "0xfff0707f" + }, + "sha256sum1": { + "encoding": "000100000001-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zknh", + "rv_zkn", + "rv_zk" + ], + "match": "0x10101013", + "mask": "0xfff0707f" + }, + "sha256sig0": { + "encoding": "000100000010-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zknh", + "rv_zkn", + "rv_zk" + ], + "match": "0x10201013", + "mask": "0xfff0707f" + }, + "sha256sig1": { + "encoding": "000100000011-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zknh", + "rv_zkn", + "rv_zk" + ], + "match": "0x10301013", + "mask": "0xfff0707f" + }, + "mop_r_N": { + "encoding": "1-00--0111-------100-----1110011", + "variable_fields": [ + "mop_r_t_30", + "mop_r_t_27_26", + "mop_r_t_21_20", + "rd", + "rs1" + ], + "extension": [ + "rv_zimop" + ], + "match": "0x81c04073", + "mask": "0xb3c0707f" + }, + "mop_rr_N": { + "encoding": "1-00--1----------100-----1110011", + "variable_fields": [ + "mop_rr_t_30", + "mop_rr_t_27_26", + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zimop" + ], + "match": "0x82004073", + "mask": "0xb200707f" + }, + "fence_i": { + "encoding": "-----------------001-----0001111", + "variable_fields": [ + "imm12", + "rs1", + "rd" + ], + "extension": [ + "rv_zifencei" + ], + "match": "0x100f", + "mask": "0x707f" + }, + "csrrw": { + "encoding": "-----------------001-----1110011", + "variable_fields": [ + "rd", + "rs1", + "csr" + ], + "extension": [ + "rv_zicsr" + ], + "match": "0x1073", + "mask": "0x707f" + }, + "csrrs": { + "encoding": "-----------------010-----1110011", + "variable_fields": [ + "rd", + "rs1", + "csr" + ], + "extension": [ + "rv_zicsr" + ], + "match": "0x2073", + "mask": "0x707f" + }, + "csrrc": { + "encoding": "-----------------011-----1110011", + "variable_fields": [ + "rd", + "rs1", + "csr" + ], + "extension": [ + "rv_zicsr" + ], + "match": "0x3073", + "mask": "0x707f" + }, + "csrrwi": { + "encoding": "-----------------101-----1110011", + "variable_fields": [ + "rd", + "csr", + "zimm" + ], + "extension": [ + "rv_zicsr" + ], + "match": "0x5073", + "mask": "0x707f" + }, + "csrrsi": { + "encoding": "-----------------110-----1110011", + "variable_fields": [ + "rd", + "csr", + "zimm" + ], + "extension": [ + "rv_zicsr" + ], + "match": "0x6073", + "mask": "0x707f" + }, + "csrrci": { + "encoding": "-----------------111-----1110011", + "variable_fields": [ + "rd", + "csr", + "zimm" + ], + "extension": [ + "rv_zicsr" + ], + "match": "0x7073", + "mask": "0x707f" + }, + "czero_eqz": { + "encoding": "0000111----------101-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zicond" + ], + "match": "0xe005033", + "mask": "0xfe00707f" + }, + "czero_nez": { + "encoding": "0000111----------111-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zicond" + ], + "match": "0xe007033", + "mask": "0xfe00707f" + }, + "ssamoswap_w": { + "encoding": "01001------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zicfiss" + ], + "match": "0x4800202f", + "mask": "0xf800707f" + }, + "ssamoswap_d": { + "encoding": "01001------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zicfiss" + ], + "match": "0x4800302f", + "mask": "0xf800707f" + }, + "cbo_clean": { + "encoding": "000000000001-----010000000001111", + "variable_fields": [ + "rs1" + ], + "extension": [ + "rv_zicbo" + ], + "match": "0x10200f", + "mask": "0xfff07fff" + }, + "cbo_flush": { + "encoding": "000000000010-----010000000001111", + "variable_fields": [ + "rs1" + ], + "extension": [ + "rv_zicbo" + ], + "match": "0x20200f", + "mask": "0xfff07fff" + }, + "cbo_inval": { + "encoding": "000000000000-----010000000001111", + "variable_fields": [ + "rs1" + ], + "extension": [ + "rv_zicbo" + ], + "match": "0x200f", + "mask": "0xfff07fff" + }, + "cbo_zero": { + "encoding": "000000000100-----010000000001111", + "variable_fields": [ + "rs1" + ], + "extension": [ + "rv_zicbo" + ], + "match": "0x40200f", + "mask": "0xfff07fff" + }, + "fli_h": { + "encoding": "111101000001-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zfh_zfa" + ], + "match": "0xf4100053", + "mask": "0xfff0707f" + }, + "fminm_h": { + "encoding": "0010110----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh_zfa" + ], + "match": "0x2c002053", + "mask": "0xfe00707f" + }, + "fmaxm_h": { + "encoding": "0010110----------011-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh_zfa" + ], + "match": "0x2c003053", + "mask": "0xfe00707f" + }, + "fround_h": { + "encoding": "010001000100-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh_zfa" + ], + "match": "0x44400053", + "mask": "0xfff0007f" + }, + "froundnx_h": { + "encoding": "010001000101-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh_zfa" + ], + "match": "0x44500053", + "mask": "0xfff0007f" + }, + "fleq_h": { + "encoding": "1010010----------100-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh_zfa" + ], + "match": "0xa4004053", + "mask": "0xfe00707f" + }, + "fltq_h": { + "encoding": "1010010----------101-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh_zfa" + ], + "match": "0xa4005053", + "mask": "0xfe00707f" + }, + "flh": { + "encoding": "-----------------001-----0000111", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x1007", + "mask": "0x707f" + }, + "fsh": { + "encoding": "-----------------001-----0100111", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x1027", + "mask": "0x707f" + }, + "fmadd_h": { + "encoding": "-----10------------------1000011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x4000043", + "mask": "0x600007f" + }, + "fmsub_h": { + "encoding": "-----10------------------1000111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x4000047", + "mask": "0x600007f" + }, + "fnmsub_h": { + "encoding": "-----10------------------1001011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x400004b", + "mask": "0x600007f" + }, + "fnmadd_h": { + "encoding": "-----10------------------1001111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x400004f", + "mask": "0x600007f" + }, + "fadd_h": { + "encoding": "0000010------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x4000053", + "mask": "0xfe00007f" + }, + "fsub_h": { + "encoding": "0000110------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xc000053", + "mask": "0xfe00007f" + }, + "fmul_h": { + "encoding": "0001010------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x14000053", + "mask": "0xfe00007f" + }, + "fdiv_h": { + "encoding": "0001110------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x1c000053", + "mask": "0xfe00007f" + }, + "fsqrt_h": { + "encoding": "010111000000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x5c000053", + "mask": "0xfff0007f" + }, + "fsgnj_h": { + "encoding": "0010010----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x24000053", + "mask": "0xfe00707f" + }, + "fsgnjn_h": { + "encoding": "0010010----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x24001053", + "mask": "0xfe00707f" + }, + "fsgnjx_h": { + "encoding": "0010010----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x24002053", + "mask": "0xfe00707f" + }, + "fmin_h": { + "encoding": "0010110----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x2c000053", + "mask": "0xfe00707f" + }, + "fmax_h": { + "encoding": "0010110----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x2c001053", + "mask": "0xfe00707f" + }, + "fcvt_s_h": { + "encoding": "010000000010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x40200053", + "mask": "0xfff0007f" + }, + "fcvt_h_s": { + "encoding": "010001000000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0x44000053", + "mask": "0xfff0007f" + }, + "feq_h": { + "encoding": "1010010----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xa4002053", + "mask": "0xfe00707f" + }, + "flt_h": { + "encoding": "1010010----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xa4001053", + "mask": "0xfe00707f" + }, + "fle_h": { + "encoding": "1010010----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xa4000053", + "mask": "0xfe00707f" + }, + "fclass_h": { + "encoding": "111001000000-----001-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xe4001053", + "mask": "0xfff0707f" + }, + "fcvt_w_h": { + "encoding": "110001000000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xc4000053", + "mask": "0xfff0007f" + }, + "fcvt_wu_h": { + "encoding": "110001000001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xc4100053", + "mask": "0xfff0007f" + }, + "fmv_x_h": { + "encoding": "111001000000-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xe4000053", + "mask": "0xfff0707f" + }, + "fcvt_h_w": { + "encoding": "110101000000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xd4000053", + "mask": "0xfff0007f" + }, + "fcvt_h_wu": { + "encoding": "110101000001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xd4100053", + "mask": "0xfff0007f" + }, + "fmv_h_x": { + "encoding": "111101000000-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zfh" + ], + "match": "0xf4000053", + "mask": "0xfff0707f" + }, + "fcvt_bf16_s": { + "encoding": "010001001000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfbfmin" + ], + "match": "0x44800053", + "mask": "0xfff0007f" + }, + "fcvt_s_bf16": { + "encoding": "010000000110-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_zfbfmin" + ], + "match": "0x40600053", + "mask": "0xfff0007f" + }, + "cm_jalt": { + "encoding": "----------------101000--------10", + "variable_fields": [ + "c_index" + ], + "extension": [ + "rv_zcmt" + ], + "match": "0xa002", + "mask": "0xfc03" + }, + "cm_push": { + "encoding": "----------------10111000------10", + "variable_fields": [ + "c_rlist", + "c_spimm" + ], + "extension": [ + "rv_zcmp" + ], + "match": "0xb802", + "mask": "0xff03" + }, + "cm_pop": { + "encoding": "----------------10111010------10", + "variable_fields": [ + "c_rlist", + "c_spimm" + ], + "extension": [ + "rv_zcmp" + ], + "match": "0xba02", + "mask": "0xff03" + }, + "cm_popretz": { + "encoding": "----------------10111100------10", + "variable_fields": [ + "c_rlist", + "c_spimm" + ], + "extension": [ + "rv_zcmp" + ], + "match": "0xbc02", + "mask": "0xff03" + }, + "cm_popret": { + "encoding": "----------------10111110------10", + "variable_fields": [ + "c_rlist", + "c_spimm" + ], + "extension": [ + "rv_zcmp" + ], + "match": "0xbe02", + "mask": "0xff03" + }, + "cm_mvsa01": { + "encoding": "----------------101011---01---10", + "variable_fields": [ + "c_sreg1", + "c_sreg2" + ], + "extension": [ + "rv_zcmp" + ], + "match": "0xac22", + "mask": "0xfc63" + }, + "cm_mva01s": { + "encoding": "----------------101011---11---10", + "variable_fields": [ + "c_sreg1", + "c_sreg2" + ], + "extension": [ + "rv_zcmp" + ], + "match": "0xac62", + "mask": "0xfc63" + }, + "c_mop_N": { + "encoding": "----------------01100---10000001", + "variable_fields": [ + "c_mop_t" + ], + "extension": [ + "rv_zcmop" + ], + "match": "0x6081", + "mask": "0xf8ff" + }, + "c_lbu": { + "encoding": "----------------100000--------00", + "variable_fields": [ + "rd_p", + "rs1_p", + "c_uimm2" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x8000", + "mask": "0xfc03" + }, + "c_lhu": { + "encoding": "----------------100001---0----00", + "variable_fields": [ + "rd_p", + "rs1_p", + "c_uimm1" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x8400", + "mask": "0xfc43" + }, + "c_lh": { + "encoding": "----------------100001---1----00", + "variable_fields": [ + "rd_p", + "rs1_p", + "c_uimm1" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x8440", + "mask": "0xfc43" + }, + "c_sb": { + "encoding": "----------------100010--------00", + "variable_fields": [ + "rs2_p", + "rs1_p", + "c_uimm2" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x8800", + "mask": "0xfc03" + }, + "c_sh": { + "encoding": "----------------100011---0----00", + "variable_fields": [ + "rs2_p", + "rs1_p", + "c_uimm1" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x8c00", + "mask": "0xfc43" + }, + "c_zext_b": { + "encoding": "----------------100111---1100001", + "variable_fields": [ + "rd_rs1_p" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x9c61", + "mask": "0xfc7f" + }, + "c_sext_b": { + "encoding": "----------------100111---1100101", + "variable_fields": [ + "rd_rs1_p" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x9c65", + "mask": "0xfc7f" + }, + "c_zext_h": { + "encoding": "----------------100111---1101001", + "variable_fields": [ + "rd_rs1_p" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x9c69", + "mask": "0xfc7f" + }, + "c_sext_h": { + "encoding": "----------------100111---1101101", + "variable_fields": [ + "rd_rs1_p" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x9c6d", + "mask": "0xfc7f" + }, + "c_not": { + "encoding": "----------------100111---1110101", + "variable_fields": [ + "rd_rs1_p" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x9c75", + "mask": "0xfc7f" + }, + "c_mul": { + "encoding": "----------------100111---10---01", + "variable_fields": [ + "rd_rs1_p", + "rs2_p" + ], + "extension": [ + "rv_zcb" + ], + "match": "0x9c41", + "mask": "0xfc63" + }, + "bclr": { + "encoding": "0100100----------001-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbs" + ], + "match": "0x48001033", + "mask": "0xfe00707f" + }, + "bext": { + "encoding": "0100100----------101-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbs" + ], + "match": "0x48005033", + "mask": "0xfe00707f" + }, + "binv": { + "encoding": "0110100----------001-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbs" + ], + "match": "0x68001033", + "mask": "0xfe00707f" + }, + "bset": { + "encoding": "0010100----------001-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbs" + ], + "match": "0x28001033", + "mask": "0xfe00707f" + }, + "xperm4": { + "encoding": "0010100----------010-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbkx", + "rv_zks", + "rv_zkn", + "rv_zk" + ], + "match": "0x28002033", + "mask": "0xfe00707f" + }, + "xperm8": { + "encoding": "0010100----------100-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbkx", + "rv_zks", + "rv_zkn", + "rv_zk" + ], + "match": "0x28004033", + "mask": "0xfe00707f" + }, + "pack": { + "encoding": "0000100----------100-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbkb", + "rv_zks", + "rv_zkn", + "rv_zk" + ], + "match": "0x8004033", + "mask": "0xfe00707f" + }, + "packh": { + "encoding": "0000100----------111-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbkb", + "rv_zks", + "rv_zkn", + "rv_zk" + ], + "match": "0x8007033", + "mask": "0xfe00707f" + }, + "clmul": { + "encoding": "0000101----------001-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbc", + "rv_zks", + "rv_zkn", + "rv_zk", + "rv_zbkc" + ], + "match": "0xa001033", + "mask": "0xfe00707f" + }, + "clmulr": { + "encoding": "0000101----------010-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbc" + ], + "match": "0xa002033", + "mask": "0xfe00707f" + }, + "clmulh": { + "encoding": "0000101----------011-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbc", + "rv_zks", + "rv_zkn", + "rv_zk", + "rv_zbkc" + ], + "match": "0xa003033", + "mask": "0xfe00707f" + }, + "andn": { + "encoding": "0100000----------111-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb", + "rv_zks", + "rv_zkn", + "rv_zk", + "rv_zbkb" + ], + "match": "0x40007033", + "mask": "0xfe00707f" + }, + "orn": { + "encoding": "0100000----------110-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb", + "rv_zks", + "rv_zkn", + "rv_zk", + "rv_zbkb" + ], + "match": "0x40006033", + "mask": "0xfe00707f" + }, + "xnor": { + "encoding": "0100000----------100-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb", + "rv_zks", + "rv_zkn", + "rv_zk", + "rv_zbkb" + ], + "match": "0x40004033", + "mask": "0xfe00707f" + }, + "clz": { + "encoding": "011000000000-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zbb" + ], + "match": "0x60001013", + "mask": "0xfff0707f" + }, + "ctz": { + "encoding": "011000000001-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zbb" + ], + "match": "0x60101013", + "mask": "0xfff0707f" + }, + "cpop": { + "encoding": "011000000010-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zbb" + ], + "match": "0x60201013", + "mask": "0xfff0707f" + }, + "max": { + "encoding": "0000101----------110-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb" + ], + "match": "0xa006033", + "mask": "0xfe00707f" + }, + "maxu": { + "encoding": "0000101----------111-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb" + ], + "match": "0xa007033", + "mask": "0xfe00707f" + }, + "min": { + "encoding": "0000101----------100-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb" + ], + "match": "0xa004033", + "mask": "0xfe00707f" + }, + "minu": { + "encoding": "0000101----------101-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb" + ], + "match": "0xa005033", + "mask": "0xfe00707f" + }, + "sext_b": { + "encoding": "011000000100-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zbb" + ], + "match": "0x60401013", + "mask": "0xfff0707f" + }, + "sext_h": { + "encoding": "011000000101-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_zbb" + ], + "match": "0x60501013", + "mask": "0xfff0707f" + }, + "rol": { + "encoding": "0110000----------001-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb", + "rv_zks", + "rv_zkn", + "rv_zk", + "rv_zbkb" + ], + "match": "0x60001033", + "mask": "0xfe00707f" + }, + "ror": { + "encoding": "0110000----------101-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbb", + "rv_zks", + "rv_zkn", + "rv_zk", + "rv_zbkb" + ], + "match": "0x60005033", + "mask": "0xfe00707f" + }, + "sh1add": { + "encoding": "0010000----------010-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zba" + ], + "match": "0x20002033", + "mask": "0xfe00707f" + }, + "sh2add": { + "encoding": "0010000----------100-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zba" + ], + "match": "0x20004033", + "mask": "0xfe00707f" + }, + "sh3add": { + "encoding": "0010000----------110-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zba" + ], + "match": "0x20006033", + "mask": "0xfe00707f" + }, + "wrs_nto": { + "encoding": "00000000110100000000000001110011", + "variable_fields": [], + "extension": [ + "rv_zawrs" + ], + "match": "0xd00073", + "mask": "0xffffffff" + }, + "wrs_sto": { + "encoding": "00000001110100000000000001110011", + "variable_fields": [], + "extension": [ + "rv_zawrs" + ], + "match": "0x1d00073", + "mask": "0xffffffff" + }, + "amocas_w": { + "encoding": "00101------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zacas" + ], + "match": "0x2800202f", + "mask": "0xf800707f" + }, + "amocas_d": { + "encoding": "00101------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zacas" + ], + "match": "0x2800302f", + "mask": "0xf800707f" + }, + "amoswap_b": { + "encoding": "00001------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x800002f", + "mask": "0xf800707f" + }, + "amoadd_b": { + "encoding": "00000------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x2f", + "mask": "0xf800707f" + }, + "amoxor_b": { + "encoding": "00100------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x2000002f", + "mask": "0xf800707f" + }, + "amoand_b": { + "encoding": "01100------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x6000002f", + "mask": "0xf800707f" + }, + "amoor_b": { + "encoding": "01000------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x4000002f", + "mask": "0xf800707f" + }, + "amomin_b": { + "encoding": "10000------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x8000002f", + "mask": "0xf800707f" + }, + "amomax_b": { + "encoding": "10100------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0xa000002f", + "mask": "0xf800707f" + }, + "amominu_b": { + "encoding": "11000------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0xc000002f", + "mask": "0xf800707f" + }, + "amomaxu_b": { + "encoding": "11100------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0xe000002f", + "mask": "0xf800707f" + }, + "amocas_b": { + "encoding": "00101------------000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x2800002f", + "mask": "0xf800707f" + }, + "amoswap_h": { + "encoding": "00001------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x800102f", + "mask": "0xf800707f" + }, + "amoadd_h": { + "encoding": "00000------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x102f", + "mask": "0xf800707f" + }, + "amoxor_h": { + "encoding": "00100------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x2000102f", + "mask": "0xf800707f" + }, + "amoand_h": { + "encoding": "01100------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x6000102f", + "mask": "0xf800707f" + }, + "amoor_h": { + "encoding": "01000------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x4000102f", + "mask": "0xf800707f" + }, + "amomin_h": { + "encoding": "10000------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x8000102f", + "mask": "0xf800707f" + }, + "amomax_h": { + "encoding": "10100------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0xa000102f", + "mask": "0xf800707f" + }, + "amominu_h": { + "encoding": "11000------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0xc000102f", + "mask": "0xf800707f" + }, + "amomaxu_h": { + "encoding": "11100------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0xe000102f", + "mask": "0xf800707f" + }, + "amocas_h": { + "encoding": "00101------------001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_zabha" + ], + "match": "0x2800102f", + "mask": "0xf800707f" + }, + "vsetivli": { + "encoding": "11---------------111-----1010111", + "variable_fields": [ + "zimm10", + "zimm", + "rd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0007057", + "mask": "0xc000707f" + }, + "vsetvli": { + "encoding": "0----------------111-----1010111", + "variable_fields": [ + "zimm11", + "rs1", + "rd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7057", + "mask": "0x8000707f" + }, + "vsetvl": { + "encoding": "1000000----------111-----1010111", + "variable_fields": [ + "rs2", + "rs1", + "rd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80007057", + "mask": "0xfe00707f" + }, + "vlm_v": { + "encoding": "000000101011-----000-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2b00007", + "mask": "0xfff0707f" + }, + "vsm_v": { + "encoding": "000000101011-----000-----0100111", + "variable_fields": [ + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x2b00027", + "mask": "0xfff0707f" + }, + "vle8_v": { + "encoding": "000000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7", + "mask": "0xfdf0707f" + }, + "vlseg2e8_v": { + "encoding": "001000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20000007", + "mask": "0xfdf0707f" + }, + "vlseg3e8_v": { + "encoding": "010000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40000007", + "mask": "0xfdf0707f" + }, + "vlseg4e8_v": { + "encoding": "011000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60000007", + "mask": "0xfdf0707f" + }, + "vlseg5e8_v": { + "encoding": "100000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80000007", + "mask": "0xfdf0707f" + }, + "vlseg6e8_v": { + "encoding": "101000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0000007", + "mask": "0xfdf0707f" + }, + "vlseg7e8_v": { + "encoding": "110000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0000007", + "mask": "0xfdf0707f" + }, + "vlseg8e8_v": { + "encoding": "111000-00000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0000007", + "mask": "0xfdf0707f" + }, + "vle16_v": { + "encoding": "000000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5007", + "mask": "0xfdf0707f" + }, + "vlseg2e16_v": { + "encoding": "001000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20005007", + "mask": "0xfdf0707f" + }, + "vlseg3e16_v": { + "encoding": "010000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40005007", + "mask": "0xfdf0707f" + }, + "vlseg4e16_v": { + "encoding": "011000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60005007", + "mask": "0xfdf0707f" + }, + "vlseg5e16_v": { + "encoding": "100000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80005007", + "mask": "0xfdf0707f" + }, + "vlseg6e16_v": { + "encoding": "101000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0005007", + "mask": "0xfdf0707f" + }, + "vlseg7e16_v": { + "encoding": "110000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0005007", + "mask": "0xfdf0707f" + }, + "vlseg8e16_v": { + "encoding": "111000-00000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0005007", + "mask": "0xfdf0707f" + }, + "vle32_v": { + "encoding": "000000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6007", + "mask": "0xfdf0707f" + }, + "vlseg2e32_v": { + "encoding": "001000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20006007", + "mask": "0xfdf0707f" + }, + "vlseg3e32_v": { + "encoding": "010000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40006007", + "mask": "0xfdf0707f" + }, + "vlseg4e32_v": { + "encoding": "011000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60006007", + "mask": "0xfdf0707f" + }, + "vlseg5e32_v": { + "encoding": "100000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80006007", + "mask": "0xfdf0707f" + }, + "vlseg6e32_v": { + "encoding": "101000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0006007", + "mask": "0xfdf0707f" + }, + "vlseg7e32_v": { + "encoding": "110000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0006007", + "mask": "0xfdf0707f" + }, + "vlseg8e32_v": { + "encoding": "111000-00000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0006007", + "mask": "0xfdf0707f" + }, + "vle64_v": { + "encoding": "000000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7007", + "mask": "0xfdf0707f" + }, + "vlseg2e64_v": { + "encoding": "001000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20007007", + "mask": "0xfdf0707f" + }, + "vlseg3e64_v": { + "encoding": "010000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40007007", + "mask": "0xfdf0707f" + }, + "vlseg4e64_v": { + "encoding": "011000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60007007", + "mask": "0xfdf0707f" + }, + "vlseg5e64_v": { + "encoding": "100000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80007007", + "mask": "0xfdf0707f" + }, + "vlseg6e64_v": { + "encoding": "101000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0007007", + "mask": "0xfdf0707f" + }, + "vlseg7e64_v": { + "encoding": "110000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0007007", + "mask": "0xfdf0707f" + }, + "vlseg8e64_v": { + "encoding": "111000-00000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0007007", + "mask": "0xfdf0707f" + }, + "vse8_v": { + "encoding": "000000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x27", + "mask": "0xfdf0707f" + }, + "vsseg2e8_v": { + "encoding": "001000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x20000027", + "mask": "0xfdf0707f" + }, + "vsseg3e8_v": { + "encoding": "010000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x40000027", + "mask": "0xfdf0707f" + }, + "vsseg4e8_v": { + "encoding": "011000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x60000027", + "mask": "0xfdf0707f" + }, + "vsseg5e8_v": { + "encoding": "100000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x80000027", + "mask": "0xfdf0707f" + }, + "vsseg6e8_v": { + "encoding": "101000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0000027", + "mask": "0xfdf0707f" + }, + "vsseg7e8_v": { + "encoding": "110000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0000027", + "mask": "0xfdf0707f" + }, + "vsseg8e8_v": { + "encoding": "111000-00000-----000-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0000027", + "mask": "0xfdf0707f" + }, + "vse16_v": { + "encoding": "000000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x5027", + "mask": "0xfdf0707f" + }, + "vsseg2e16_v": { + "encoding": "001000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x20005027", + "mask": "0xfdf0707f" + }, + "vsseg3e16_v": { + "encoding": "010000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x40005027", + "mask": "0xfdf0707f" + }, + "vsseg4e16_v": { + "encoding": "011000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x60005027", + "mask": "0xfdf0707f" + }, + "vsseg5e16_v": { + "encoding": "100000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x80005027", + "mask": "0xfdf0707f" + }, + "vsseg6e16_v": { + "encoding": "101000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0005027", + "mask": "0xfdf0707f" + }, + "vsseg7e16_v": { + "encoding": "110000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0005027", + "mask": "0xfdf0707f" + }, + "vsseg8e16_v": { + "encoding": "111000-00000-----101-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0005027", + "mask": "0xfdf0707f" + }, + "vse32_v": { + "encoding": "000000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x6027", + "mask": "0xfdf0707f" + }, + "vsseg2e32_v": { + "encoding": "001000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x20006027", + "mask": "0xfdf0707f" + }, + "vsseg3e32_v": { + "encoding": "010000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x40006027", + "mask": "0xfdf0707f" + }, + "vsseg4e32_v": { + "encoding": "011000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x60006027", + "mask": "0xfdf0707f" + }, + "vsseg5e32_v": { + "encoding": "100000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x80006027", + "mask": "0xfdf0707f" + }, + "vsseg6e32_v": { + "encoding": "101000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0006027", + "mask": "0xfdf0707f" + }, + "vsseg7e32_v": { + "encoding": "110000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0006027", + "mask": "0xfdf0707f" + }, + "vsseg8e32_v": { + "encoding": "111000-00000-----110-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0006027", + "mask": "0xfdf0707f" + }, + "vse64_v": { + "encoding": "000000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x7027", + "mask": "0xfdf0707f" + }, + "vsseg2e64_v": { + "encoding": "001000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x20007027", + "mask": "0xfdf0707f" + }, + "vsseg3e64_v": { + "encoding": "010000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x40007027", + "mask": "0xfdf0707f" + }, + "vsseg4e64_v": { + "encoding": "011000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x60007027", + "mask": "0xfdf0707f" + }, + "vsseg5e64_v": { + "encoding": "100000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x80007027", + "mask": "0xfdf0707f" + }, + "vsseg6e64_v": { + "encoding": "101000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0007027", + "mask": "0xfdf0707f" + }, + "vsseg7e64_v": { + "encoding": "110000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0007027", + "mask": "0xfdf0707f" + }, + "vsseg8e64_v": { + "encoding": "111000-00000-----111-----0100111", + "variable_fields": [ + "vm", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0007027", + "mask": "0xfdf0707f" + }, + "vluxei8_v": { + "encoding": "000001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4000007", + "mask": "0xfc00707f" + }, + "vluxseg2ei8_v": { + "encoding": "001001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24000007", + "mask": "0xfc00707f" + }, + "vluxseg3ei8_v": { + "encoding": "010001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x44000007", + "mask": "0xfc00707f" + }, + "vluxseg4ei8_v": { + "encoding": "011001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64000007", + "mask": "0xfc00707f" + }, + "vluxseg5ei8_v": { + "encoding": "100001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84000007", + "mask": "0xfc00707f" + }, + "vluxseg6ei8_v": { + "encoding": "101001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4000007", + "mask": "0xfc00707f" + }, + "vluxseg7ei8_v": { + "encoding": "110001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4000007", + "mask": "0xfc00707f" + }, + "vluxseg8ei8_v": { + "encoding": "111001-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4000007", + "mask": "0xfc00707f" + }, + "vluxei16_v": { + "encoding": "000001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4005007", + "mask": "0xfc00707f" + }, + "vluxseg2ei16_v": { + "encoding": "001001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24005007", + "mask": "0xfc00707f" + }, + "vluxseg3ei16_v": { + "encoding": "010001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x44005007", + "mask": "0xfc00707f" + }, + "vluxseg4ei16_v": { + "encoding": "011001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64005007", + "mask": "0xfc00707f" + }, + "vluxseg5ei16_v": { + "encoding": "100001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84005007", + "mask": "0xfc00707f" + }, + "vluxseg6ei16_v": { + "encoding": "101001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4005007", + "mask": "0xfc00707f" + }, + "vluxseg7ei16_v": { + "encoding": "110001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4005007", + "mask": "0xfc00707f" + }, + "vluxseg8ei16_v": { + "encoding": "111001-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4005007", + "mask": "0xfc00707f" + }, + "vluxei32_v": { + "encoding": "000001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4006007", + "mask": "0xfc00707f" + }, + "vluxseg2ei32_v": { + "encoding": "001001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24006007", + "mask": "0xfc00707f" + }, + "vluxseg3ei32_v": { + "encoding": "010001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x44006007", + "mask": "0xfc00707f" + }, + "vluxseg4ei32_v": { + "encoding": "011001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64006007", + "mask": "0xfc00707f" + }, + "vluxseg5ei32_v": { + "encoding": "100001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84006007", + "mask": "0xfc00707f" + }, + "vluxseg6ei32_v": { + "encoding": "101001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4006007", + "mask": "0xfc00707f" + }, + "vluxseg7ei32_v": { + "encoding": "110001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4006007", + "mask": "0xfc00707f" + }, + "vluxseg8ei32_v": { + "encoding": "111001-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4006007", + "mask": "0xfc00707f" + }, + "vluxei64_v": { + "encoding": "000001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4007007", + "mask": "0xfc00707f" + }, + "vluxseg2ei64_v": { + "encoding": "001001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24007007", + "mask": "0xfc00707f" + }, + "vluxseg3ei64_v": { + "encoding": "010001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x44007007", + "mask": "0xfc00707f" + }, + "vluxseg4ei64_v": { + "encoding": "011001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64007007", + "mask": "0xfc00707f" + }, + "vluxseg5ei64_v": { + "encoding": "100001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84007007", + "mask": "0xfc00707f" + }, + "vluxseg6ei64_v": { + "encoding": "101001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4007007", + "mask": "0xfc00707f" + }, + "vluxseg7ei64_v": { + "encoding": "110001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4007007", + "mask": "0xfc00707f" + }, + "vluxseg8ei64_v": { + "encoding": "111001-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4007007", + "mask": "0xfc00707f" + }, + "vsuxei8_v": { + "encoding": "000001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4000027", + "mask": "0xfc00707f" + }, + "vsuxseg2ei8_v": { + "encoding": "001001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x24000027", + "mask": "0xfc00707f" + }, + "vsuxseg3ei8_v": { + "encoding": "010001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x44000027", + "mask": "0xfc00707f" + }, + "vsuxseg4ei8_v": { + "encoding": "011001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x64000027", + "mask": "0xfc00707f" + }, + "vsuxseg5ei8_v": { + "encoding": "100001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x84000027", + "mask": "0xfc00707f" + }, + "vsuxseg6ei8_v": { + "encoding": "101001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4000027", + "mask": "0xfc00707f" + }, + "vsuxseg7ei8_v": { + "encoding": "110001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4000027", + "mask": "0xfc00707f" + }, + "vsuxseg8ei8_v": { + "encoding": "111001-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4000027", + "mask": "0xfc00707f" + }, + "vsuxei16_v": { + "encoding": "000001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4005027", + "mask": "0xfc00707f" + }, + "vsuxseg2ei16_v": { + "encoding": "001001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x24005027", + "mask": "0xfc00707f" + }, + "vsuxseg3ei16_v": { + "encoding": "010001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x44005027", + "mask": "0xfc00707f" + }, + "vsuxseg4ei16_v": { + "encoding": "011001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x64005027", + "mask": "0xfc00707f" + }, + "vsuxseg5ei16_v": { + "encoding": "100001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x84005027", + "mask": "0xfc00707f" + }, + "vsuxseg6ei16_v": { + "encoding": "101001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4005027", + "mask": "0xfc00707f" + }, + "vsuxseg7ei16_v": { + "encoding": "110001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4005027", + "mask": "0xfc00707f" + }, + "vsuxseg8ei16_v": { + "encoding": "111001-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4005027", + "mask": "0xfc00707f" + }, + "vsuxei32_v": { + "encoding": "000001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4006027", + "mask": "0xfc00707f" + }, + "vsuxseg2ei32_v": { + "encoding": "001001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x24006027", + "mask": "0xfc00707f" + }, + "vsuxseg3ei32_v": { + "encoding": "010001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x44006027", + "mask": "0xfc00707f" + }, + "vsuxseg4ei32_v": { + "encoding": "011001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x64006027", + "mask": "0xfc00707f" + }, + "vsuxseg5ei32_v": { + "encoding": "100001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x84006027", + "mask": "0xfc00707f" + }, + "vsuxseg6ei32_v": { + "encoding": "101001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4006027", + "mask": "0xfc00707f" + }, + "vsuxseg7ei32_v": { + "encoding": "110001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4006027", + "mask": "0xfc00707f" + }, + "vsuxseg8ei32_v": { + "encoding": "111001-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4006027", + "mask": "0xfc00707f" + }, + "vsuxei64_v": { + "encoding": "000001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4007027", + "mask": "0xfc00707f" + }, + "vsuxseg2ei64_v": { + "encoding": "001001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x24007027", + "mask": "0xfc00707f" + }, + "vsuxseg3ei64_v": { + "encoding": "010001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x44007027", + "mask": "0xfc00707f" + }, + "vsuxseg4ei64_v": { + "encoding": "011001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x64007027", + "mask": "0xfc00707f" + }, + "vsuxseg5ei64_v": { + "encoding": "100001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x84007027", + "mask": "0xfc00707f" + }, + "vsuxseg6ei64_v": { + "encoding": "101001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4007027", + "mask": "0xfc00707f" + }, + "vsuxseg7ei64_v": { + "encoding": "110001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4007027", + "mask": "0xfc00707f" + }, + "vsuxseg8ei64_v": { + "encoding": "111001-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe4007027", + "mask": "0xfc00707f" + }, + "vlse8_v": { + "encoding": "000010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8000007", + "mask": "0xfc00707f" + }, + "vlsseg2e8_v": { + "encoding": "001010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28000007", + "mask": "0xfc00707f" + }, + "vlsseg3e8_v": { + "encoding": "010010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48000007", + "mask": "0xfc00707f" + }, + "vlsseg4e8_v": { + "encoding": "011010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x68000007", + "mask": "0xfc00707f" + }, + "vlsseg5e8_v": { + "encoding": "100010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88000007", + "mask": "0xfc00707f" + }, + "vlsseg6e8_v": { + "encoding": "101010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8000007", + "mask": "0xfc00707f" + }, + "vlsseg7e8_v": { + "encoding": "110010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8000007", + "mask": "0xfc00707f" + }, + "vlsseg8e8_v": { + "encoding": "111010-----------000-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8000007", + "mask": "0xfc00707f" + }, + "vlse16_v": { + "encoding": "000010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8005007", + "mask": "0xfc00707f" + }, + "vlsseg2e16_v": { + "encoding": "001010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28005007", + "mask": "0xfc00707f" + }, + "vlsseg3e16_v": { + "encoding": "010010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48005007", + "mask": "0xfc00707f" + }, + "vlsseg4e16_v": { + "encoding": "011010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x68005007", + "mask": "0xfc00707f" + }, + "vlsseg5e16_v": { + "encoding": "100010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88005007", + "mask": "0xfc00707f" + }, + "vlsseg6e16_v": { + "encoding": "101010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8005007", + "mask": "0xfc00707f" + }, + "vlsseg7e16_v": { + "encoding": "110010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8005007", + "mask": "0xfc00707f" + }, + "vlsseg8e16_v": { + "encoding": "111010-----------101-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8005007", + "mask": "0xfc00707f" + }, + "vlse32_v": { + "encoding": "000010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8006007", + "mask": "0xfc00707f" + }, + "vlsseg2e32_v": { + "encoding": "001010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28006007", + "mask": "0xfc00707f" + }, + "vlsseg3e32_v": { + "encoding": "010010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48006007", + "mask": "0xfc00707f" + }, + "vlsseg4e32_v": { + "encoding": "011010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x68006007", + "mask": "0xfc00707f" + }, + "vlsseg5e32_v": { + "encoding": "100010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88006007", + "mask": "0xfc00707f" + }, + "vlsseg6e32_v": { + "encoding": "101010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8006007", + "mask": "0xfc00707f" + }, + "vlsseg7e32_v": { + "encoding": "110010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8006007", + "mask": "0xfc00707f" + }, + "vlsseg8e32_v": { + "encoding": "111010-----------110-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8006007", + "mask": "0xfc00707f" + }, + "vlse64_v": { + "encoding": "000010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8007007", + "mask": "0xfc00707f" + }, + "vlsseg2e64_v": { + "encoding": "001010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28007007", + "mask": "0xfc00707f" + }, + "vlsseg3e64_v": { + "encoding": "010010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48007007", + "mask": "0xfc00707f" + }, + "vlsseg4e64_v": { + "encoding": "011010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x68007007", + "mask": "0xfc00707f" + }, + "vlsseg5e64_v": { + "encoding": "100010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88007007", + "mask": "0xfc00707f" + }, + "vlsseg6e64_v": { + "encoding": "101010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8007007", + "mask": "0xfc00707f" + }, + "vlsseg7e64_v": { + "encoding": "110010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8007007", + "mask": "0xfc00707f" + }, + "vlsseg8e64_v": { + "encoding": "111010-----------111-----0000111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8007007", + "mask": "0xfc00707f" + }, + "vsse8_v": { + "encoding": "000010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8000027", + "mask": "0xfc00707f" + }, + "vssseg2e8_v": { + "encoding": "001010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x28000027", + "mask": "0xfc00707f" + }, + "vssseg3e8_v": { + "encoding": "010010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x48000027", + "mask": "0xfc00707f" + }, + "vssseg4e8_v": { + "encoding": "011010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x68000027", + "mask": "0xfc00707f" + }, + "vssseg5e8_v": { + "encoding": "100010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x88000027", + "mask": "0xfc00707f" + }, + "vssseg6e8_v": { + "encoding": "101010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8000027", + "mask": "0xfc00707f" + }, + "vssseg7e8_v": { + "encoding": "110010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8000027", + "mask": "0xfc00707f" + }, + "vssseg8e8_v": { + "encoding": "111010-----------000-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8000027", + "mask": "0xfc00707f" + }, + "vsse16_v": { + "encoding": "000010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8005027", + "mask": "0xfc00707f" + }, + "vssseg2e16_v": { + "encoding": "001010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x28005027", + "mask": "0xfc00707f" + }, + "vssseg3e16_v": { + "encoding": "010010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x48005027", + "mask": "0xfc00707f" + }, + "vssseg4e16_v": { + "encoding": "011010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x68005027", + "mask": "0xfc00707f" + }, + "vssseg5e16_v": { + "encoding": "100010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x88005027", + "mask": "0xfc00707f" + }, + "vssseg6e16_v": { + "encoding": "101010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8005027", + "mask": "0xfc00707f" + }, + "vssseg7e16_v": { + "encoding": "110010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8005027", + "mask": "0xfc00707f" + }, + "vssseg8e16_v": { + "encoding": "111010-----------101-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8005027", + "mask": "0xfc00707f" + }, + "vsse32_v": { + "encoding": "000010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8006027", + "mask": "0xfc00707f" + }, + "vssseg2e32_v": { + "encoding": "001010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x28006027", + "mask": "0xfc00707f" + }, + "vssseg3e32_v": { + "encoding": "010010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x48006027", + "mask": "0xfc00707f" + }, + "vssseg4e32_v": { + "encoding": "011010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x68006027", + "mask": "0xfc00707f" + }, + "vssseg5e32_v": { + "encoding": "100010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x88006027", + "mask": "0xfc00707f" + }, + "vssseg6e32_v": { + "encoding": "101010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8006027", + "mask": "0xfc00707f" + }, + "vssseg7e32_v": { + "encoding": "110010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8006027", + "mask": "0xfc00707f" + }, + "vssseg8e32_v": { + "encoding": "111010-----------110-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8006027", + "mask": "0xfc00707f" + }, + "vsse64_v": { + "encoding": "000010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8007027", + "mask": "0xfc00707f" + }, + "vssseg2e64_v": { + "encoding": "001010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x28007027", + "mask": "0xfc00707f" + }, + "vssseg3e64_v": { + "encoding": "010010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x48007027", + "mask": "0xfc00707f" + }, + "vssseg4e64_v": { + "encoding": "011010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x68007027", + "mask": "0xfc00707f" + }, + "vssseg5e64_v": { + "encoding": "100010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x88007027", + "mask": "0xfc00707f" + }, + "vssseg6e64_v": { + "encoding": "101010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8007027", + "mask": "0xfc00707f" + }, + "vssseg7e64_v": { + "encoding": "110010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8007027", + "mask": "0xfc00707f" + }, + "vssseg8e64_v": { + "encoding": "111010-----------111-----0100111", + "variable_fields": [ + "vm", + "rs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8007027", + "mask": "0xfc00707f" + }, + "vloxei8_v": { + "encoding": "000011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc000007", + "mask": "0xfc00707f" + }, + "vloxseg2ei8_v": { + "encoding": "001011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c000007", + "mask": "0xfc00707f" + }, + "vloxseg3ei8_v": { + "encoding": "010011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c000007", + "mask": "0xfc00707f" + }, + "vloxseg4ei8_v": { + "encoding": "011011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c000007", + "mask": "0xfc00707f" + }, + "vloxseg5ei8_v": { + "encoding": "100011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c000007", + "mask": "0xfc00707f" + }, + "vloxseg6ei8_v": { + "encoding": "101011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac000007", + "mask": "0xfc00707f" + }, + "vloxseg7ei8_v": { + "encoding": "110011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc000007", + "mask": "0xfc00707f" + }, + "vloxseg8ei8_v": { + "encoding": "111011-----------000-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xec000007", + "mask": "0xfc00707f" + }, + "vloxei16_v": { + "encoding": "000011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc005007", + "mask": "0xfc00707f" + }, + "vloxseg2ei16_v": { + "encoding": "001011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c005007", + "mask": "0xfc00707f" + }, + "vloxseg3ei16_v": { + "encoding": "010011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c005007", + "mask": "0xfc00707f" + }, + "vloxseg4ei16_v": { + "encoding": "011011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c005007", + "mask": "0xfc00707f" + }, + "vloxseg5ei16_v": { + "encoding": "100011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c005007", + "mask": "0xfc00707f" + }, + "vloxseg6ei16_v": { + "encoding": "101011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac005007", + "mask": "0xfc00707f" + }, + "vloxseg7ei16_v": { + "encoding": "110011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc005007", + "mask": "0xfc00707f" + }, + "vloxseg8ei16_v": { + "encoding": "111011-----------101-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xec005007", + "mask": "0xfc00707f" + }, + "vloxei32_v": { + "encoding": "000011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc006007", + "mask": "0xfc00707f" + }, + "vloxseg2ei32_v": { + "encoding": "001011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c006007", + "mask": "0xfc00707f" + }, + "vloxseg3ei32_v": { + "encoding": "010011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c006007", + "mask": "0xfc00707f" + }, + "vloxseg4ei32_v": { + "encoding": "011011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c006007", + "mask": "0xfc00707f" + }, + "vloxseg5ei32_v": { + "encoding": "100011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c006007", + "mask": "0xfc00707f" + }, + "vloxseg6ei32_v": { + "encoding": "101011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac006007", + "mask": "0xfc00707f" + }, + "vloxseg7ei32_v": { + "encoding": "110011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc006007", + "mask": "0xfc00707f" + }, + "vloxseg8ei32_v": { + "encoding": "111011-----------110-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xec006007", + "mask": "0xfc00707f" + }, + "vloxei64_v": { + "encoding": "000011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc007007", + "mask": "0xfc00707f" + }, + "vloxseg2ei64_v": { + "encoding": "001011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c007007", + "mask": "0xfc00707f" + }, + "vloxseg3ei64_v": { + "encoding": "010011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c007007", + "mask": "0xfc00707f" + }, + "vloxseg4ei64_v": { + "encoding": "011011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c007007", + "mask": "0xfc00707f" + }, + "vloxseg5ei64_v": { + "encoding": "100011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c007007", + "mask": "0xfc00707f" + }, + "vloxseg6ei64_v": { + "encoding": "101011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac007007", + "mask": "0xfc00707f" + }, + "vloxseg7ei64_v": { + "encoding": "110011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc007007", + "mask": "0xfc00707f" + }, + "vloxseg8ei64_v": { + "encoding": "111011-----------111-----0000111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xec007007", + "mask": "0xfc00707f" + }, + "vsoxei8_v": { + "encoding": "000011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc000027", + "mask": "0xfc00707f" + }, + "vsoxseg2ei8_v": { + "encoding": "001011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c000027", + "mask": "0xfc00707f" + }, + "vsoxseg3ei8_v": { + "encoding": "010011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c000027", + "mask": "0xfc00707f" + }, + "vsoxseg4ei8_v": { + "encoding": "011011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c000027", + "mask": "0xfc00707f" + }, + "vsoxseg5ei8_v": { + "encoding": "100011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c000027", + "mask": "0xfc00707f" + }, + "vsoxseg6ei8_v": { + "encoding": "101011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xac000027", + "mask": "0xfc00707f" + }, + "vsoxseg7ei8_v": { + "encoding": "110011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc000027", + "mask": "0xfc00707f" + }, + "vsoxseg8ei8_v": { + "encoding": "111011-----------000-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xec000027", + "mask": "0xfc00707f" + }, + "vsoxei16_v": { + "encoding": "000011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc005027", + "mask": "0xfc00707f" + }, + "vsoxseg2ei16_v": { + "encoding": "001011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c005027", + "mask": "0xfc00707f" + }, + "vsoxseg3ei16_v": { + "encoding": "010011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c005027", + "mask": "0xfc00707f" + }, + "vsoxseg4ei16_v": { + "encoding": "011011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c005027", + "mask": "0xfc00707f" + }, + "vsoxseg5ei16_v": { + "encoding": "100011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c005027", + "mask": "0xfc00707f" + }, + "vsoxseg6ei16_v": { + "encoding": "101011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xac005027", + "mask": "0xfc00707f" + }, + "vsoxseg7ei16_v": { + "encoding": "110011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc005027", + "mask": "0xfc00707f" + }, + "vsoxseg8ei16_v": { + "encoding": "111011-----------101-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xec005027", + "mask": "0xfc00707f" + }, + "vsoxei32_v": { + "encoding": "000011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc006027", + "mask": "0xfc00707f" + }, + "vsoxseg2ei32_v": { + "encoding": "001011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c006027", + "mask": "0xfc00707f" + }, + "vsoxseg3ei32_v": { + "encoding": "010011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c006027", + "mask": "0xfc00707f" + }, + "vsoxseg4ei32_v": { + "encoding": "011011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c006027", + "mask": "0xfc00707f" + }, + "vsoxseg5ei32_v": { + "encoding": "100011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c006027", + "mask": "0xfc00707f" + }, + "vsoxseg6ei32_v": { + "encoding": "101011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xac006027", + "mask": "0xfc00707f" + }, + "vsoxseg7ei32_v": { + "encoding": "110011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc006027", + "mask": "0xfc00707f" + }, + "vsoxseg8ei32_v": { + "encoding": "111011-----------110-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xec006027", + "mask": "0xfc00707f" + }, + "vsoxei64_v": { + "encoding": "000011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xc007027", + "mask": "0xfc00707f" + }, + "vsoxseg2ei64_v": { + "encoding": "001011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c007027", + "mask": "0xfc00707f" + }, + "vsoxseg3ei64_v": { + "encoding": "010011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c007027", + "mask": "0xfc00707f" + }, + "vsoxseg4ei64_v": { + "encoding": "011011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c007027", + "mask": "0xfc00707f" + }, + "vsoxseg5ei64_v": { + "encoding": "100011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c007027", + "mask": "0xfc00707f" + }, + "vsoxseg6ei64_v": { + "encoding": "101011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xac007027", + "mask": "0xfc00707f" + }, + "vsoxseg7ei64_v": { + "encoding": "110011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc007027", + "mask": "0xfc00707f" + }, + "vsoxseg8ei64_v": { + "encoding": "111011-----------111-----0100111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xec007027", + "mask": "0xfc00707f" + }, + "vle8ff_v": { + "encoding": "000000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1000007", + "mask": "0xfdf0707f" + }, + "vlseg2e8ff_v": { + "encoding": "001000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x21000007", + "mask": "0xfdf0707f" + }, + "vlseg3e8ff_v": { + "encoding": "010000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x41000007", + "mask": "0xfdf0707f" + }, + "vlseg4e8ff_v": { + "encoding": "011000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x61000007", + "mask": "0xfdf0707f" + }, + "vlseg5e8ff_v": { + "encoding": "100000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x81000007", + "mask": "0xfdf0707f" + }, + "vlseg6e8ff_v": { + "encoding": "101000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa1000007", + "mask": "0xfdf0707f" + }, + "vlseg7e8ff_v": { + "encoding": "110000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc1000007", + "mask": "0xfdf0707f" + }, + "vlseg8e8ff_v": { + "encoding": "111000-10000-----000-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe1000007", + "mask": "0xfdf0707f" + }, + "vle16ff_v": { + "encoding": "000000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1005007", + "mask": "0xfdf0707f" + }, + "vlseg2e16ff_v": { + "encoding": "001000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x21005007", + "mask": "0xfdf0707f" + }, + "vlseg3e16ff_v": { + "encoding": "010000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x41005007", + "mask": "0xfdf0707f" + }, + "vlseg4e16ff_v": { + "encoding": "011000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x61005007", + "mask": "0xfdf0707f" + }, + "vlseg5e16ff_v": { + "encoding": "100000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x81005007", + "mask": "0xfdf0707f" + }, + "vlseg6e16ff_v": { + "encoding": "101000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa1005007", + "mask": "0xfdf0707f" + }, + "vlseg7e16ff_v": { + "encoding": "110000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc1005007", + "mask": "0xfdf0707f" + }, + "vlseg8e16ff_v": { + "encoding": "111000-10000-----101-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe1005007", + "mask": "0xfdf0707f" + }, + "vle32ff_v": { + "encoding": "000000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1006007", + "mask": "0xfdf0707f" + }, + "vlseg2e32ff_v": { + "encoding": "001000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x21006007", + "mask": "0xfdf0707f" + }, + "vlseg3e32ff_v": { + "encoding": "010000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x41006007", + "mask": "0xfdf0707f" + }, + "vlseg4e32ff_v": { + "encoding": "011000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x61006007", + "mask": "0xfdf0707f" + }, + "vlseg5e32ff_v": { + "encoding": "100000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x81006007", + "mask": "0xfdf0707f" + }, + "vlseg6e32ff_v": { + "encoding": "101000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa1006007", + "mask": "0xfdf0707f" + }, + "vlseg7e32ff_v": { + "encoding": "110000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc1006007", + "mask": "0xfdf0707f" + }, + "vlseg8e32ff_v": { + "encoding": "111000-10000-----110-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe1006007", + "mask": "0xfdf0707f" + }, + "vle64ff_v": { + "encoding": "000000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1007007", + "mask": "0xfdf0707f" + }, + "vlseg2e64ff_v": { + "encoding": "001000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x21007007", + "mask": "0xfdf0707f" + }, + "vlseg3e64ff_v": { + "encoding": "010000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x41007007", + "mask": "0xfdf0707f" + }, + "vlseg4e64ff_v": { + "encoding": "011000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x61007007", + "mask": "0xfdf0707f" + }, + "vlseg5e64ff_v": { + "encoding": "100000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x81007007", + "mask": "0xfdf0707f" + }, + "vlseg6e64ff_v": { + "encoding": "101000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa1007007", + "mask": "0xfdf0707f" + }, + "vlseg7e64ff_v": { + "encoding": "110000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc1007007", + "mask": "0xfdf0707f" + }, + "vlseg8e64ff_v": { + "encoding": "111000-10000-----111-----0000111", + "variable_fields": [ + "vm", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe1007007", + "mask": "0xfdf0707f" + }, + "vl1re8_v": { + "encoding": "000000101000-----000-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2800007", + "mask": "0xfff0707f" + }, + "vl1re16_v": { + "encoding": "000000101000-----101-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2805007", + "mask": "0xfff0707f" + }, + "vl1re32_v": { + "encoding": "000000101000-----110-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2806007", + "mask": "0xfff0707f" + }, + "vl1re64_v": { + "encoding": "000000101000-----111-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2807007", + "mask": "0xfff0707f" + }, + "vl2re8_v": { + "encoding": "001000101000-----000-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x22800007", + "mask": "0xfff0707f" + }, + "vl2re16_v": { + "encoding": "001000101000-----101-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x22805007", + "mask": "0xfff0707f" + }, + "vl2re32_v": { + "encoding": "001000101000-----110-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x22806007", + "mask": "0xfff0707f" + }, + "vl2re64_v": { + "encoding": "001000101000-----111-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x22807007", + "mask": "0xfff0707f" + }, + "vl4re8_v": { + "encoding": "011000101000-----000-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x62800007", + "mask": "0xfff0707f" + }, + "vl4re16_v": { + "encoding": "011000101000-----101-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x62805007", + "mask": "0xfff0707f" + }, + "vl4re32_v": { + "encoding": "011000101000-----110-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x62806007", + "mask": "0xfff0707f" + }, + "vl4re64_v": { + "encoding": "011000101000-----111-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x62807007", + "mask": "0xfff0707f" + }, + "vl8re8_v": { + "encoding": "111000101000-----000-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe2800007", + "mask": "0xfff0707f" + }, + "vl8re16_v": { + "encoding": "111000101000-----101-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe2805007", + "mask": "0xfff0707f" + }, + "vl8re32_v": { + "encoding": "111000101000-----110-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe2806007", + "mask": "0xfff0707f" + }, + "vl8re64_v": { + "encoding": "111000101000-----111-----0000111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe2807007", + "mask": "0xfff0707f" + }, + "vs1r_v": { + "encoding": "000000101000-----000-----0100111", + "variable_fields": [ + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x2800027", + "mask": "0xfff0707f" + }, + "vs2r_v": { + "encoding": "001000101000-----000-----0100111", + "variable_fields": [ + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x22800027", + "mask": "0xfff0707f" + }, + "vs4r_v": { + "encoding": "011000101000-----000-----0100111", + "variable_fields": [ + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0x62800027", + "mask": "0xfff0707f" + }, + "vs8r_v": { + "encoding": "111000101000-----000-----0100111", + "variable_fields": [ + "rs1", + "vs3" + ], + "extension": [ + "rv_v" + ], + "match": "0xe2800027", + "mask": "0xfff0707f" + }, + "vfadd_vf": { + "encoding": "000000-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5057", + "mask": "0xfc00707f" + }, + "vfsub_vf": { + "encoding": "000010-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8005057", + "mask": "0xfc00707f" + }, + "vfmin_vf": { + "encoding": "000100-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x10005057", + "mask": "0xfc00707f" + }, + "vfmax_vf": { + "encoding": "000110-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x18005057", + "mask": "0xfc00707f" + }, + "vfsgnj_vf": { + "encoding": "001000-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20005057", + "mask": "0xfc00707f" + }, + "vfsgnjn_vf": { + "encoding": "001001-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24005057", + "mask": "0xfc00707f" + }, + "vfsgnjx_vf": { + "encoding": "001010-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28005057", + "mask": "0xfc00707f" + }, + "vfslide1up_vf": { + "encoding": "001110-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x38005057", + "mask": "0xfc00707f" + }, + "vfslide1down_vf": { + "encoding": "001111-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x3c005057", + "mask": "0xfc00707f" + }, + "vfmv_s_f": { + "encoding": "010000100000-----101-----1010111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x42005057", + "mask": "0xfff0707f" + }, + "vfmerge_vfm": { + "encoding": "0101110----------101-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5c005057", + "mask": "0xfe00707f" + }, + "vfmv_v_f": { + "encoding": "010111100000-----101-----1010111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5e005057", + "mask": "0xfff0707f" + }, + "vmfeq_vf": { + "encoding": "011000-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60005057", + "mask": "0xfc00707f" + }, + "vmfle_vf": { + "encoding": "011001-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64005057", + "mask": "0xfc00707f" + }, + "vmflt_vf": { + "encoding": "011011-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c005057", + "mask": "0xfc00707f" + }, + "vmfne_vf": { + "encoding": "011100-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x70005057", + "mask": "0xfc00707f" + }, + "vmfgt_vf": { + "encoding": "011101-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x74005057", + "mask": "0xfc00707f" + }, + "vmfge_vf": { + "encoding": "011111-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7c005057", + "mask": "0xfc00707f" + }, + "vfdiv_vf": { + "encoding": "100000-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80005057", + "mask": "0xfc00707f" + }, + "vfrdiv_vf": { + "encoding": "100001-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84005057", + "mask": "0xfc00707f" + }, + "vfmul_vf": { + "encoding": "100100-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x90005057", + "mask": "0xfc00707f" + }, + "vfrsub_vf": { + "encoding": "100111-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9c005057", + "mask": "0xfc00707f" + }, + "vfmadd_vf": { + "encoding": "101000-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0005057", + "mask": "0xfc00707f" + }, + "vfnmadd_vf": { + "encoding": "101001-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4005057", + "mask": "0xfc00707f" + }, + "vfmsub_vf": { + "encoding": "101010-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8005057", + "mask": "0xfc00707f" + }, + "vfnmsub_vf": { + "encoding": "101011-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac005057", + "mask": "0xfc00707f" + }, + "vfmacc_vf": { + "encoding": "101100-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb0005057", + "mask": "0xfc00707f" + }, + "vfnmacc_vf": { + "encoding": "101101-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb4005057", + "mask": "0xfc00707f" + }, + "vfmsac_vf": { + "encoding": "101110-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb8005057", + "mask": "0xfc00707f" + }, + "vfnmsac_vf": { + "encoding": "101111-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xbc005057", + "mask": "0xfc00707f" + }, + "vfwadd_vf": { + "encoding": "110000-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0005057", + "mask": "0xfc00707f" + }, + "vfwsub_vf": { + "encoding": "110010-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8005057", + "mask": "0xfc00707f" + }, + "vfwadd_wf": { + "encoding": "110100-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd0005057", + "mask": "0xfc00707f" + }, + "vfwsub_wf": { + "encoding": "110110-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd8005057", + "mask": "0xfc00707f" + }, + "vfwmul_vf": { + "encoding": "111000-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0005057", + "mask": "0xfc00707f" + }, + "vfwmacc_vf": { + "encoding": "111100-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf0005057", + "mask": "0xfc00707f" + }, + "vfwnmacc_vf": { + "encoding": "111101-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf4005057", + "mask": "0xfc00707f" + }, + "vfwmsac_vf": { + "encoding": "111110-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf8005057", + "mask": "0xfc00707f" + }, + "vfwnmsac_vf": { + "encoding": "111111-----------101-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xfc005057", + "mask": "0xfc00707f" + }, + "vfadd_vv": { + "encoding": "000000-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1057", + "mask": "0xfc00707f" + }, + "vfredusum_vs": { + "encoding": "000001-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4001057", + "mask": "0xfc00707f" + }, + "vfsub_vv": { + "encoding": "000010-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8001057", + "mask": "0xfc00707f" + }, + "vfredosum_vs": { + "encoding": "000011-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc001057", + "mask": "0xfc00707f" + }, + "vfmin_vv": { + "encoding": "000100-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x10001057", + "mask": "0xfc00707f" + }, + "vfredmin_vs": { + "encoding": "000101-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x14001057", + "mask": "0xfc00707f" + }, + "vfmax_vv": { + "encoding": "000110-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x18001057", + "mask": "0xfc00707f" + }, + "vfredmax_vs": { + "encoding": "000111-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1c001057", + "mask": "0xfc00707f" + }, + "vfsgnj_vv": { + "encoding": "001000-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20001057", + "mask": "0xfc00707f" + }, + "vfsgnjn_vv": { + "encoding": "001001-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24001057", + "mask": "0xfc00707f" + }, + "vfsgnjx_vv": { + "encoding": "001010-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28001057", + "mask": "0xfc00707f" + }, + "vfmv_f_s": { + "encoding": "0100001-----00000001-----1010111", + "variable_fields": [ + "vs2", + "rd" + ], + "extension": [ + "rv_v" + ], + "match": "0x42001057", + "mask": "0xfe0ff07f" + }, + "vmfeq_vv": { + "encoding": "011000-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60001057", + "mask": "0xfc00707f" + }, + "vmfle_vv": { + "encoding": "011001-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64001057", + "mask": "0xfc00707f" + }, + "vmflt_vv": { + "encoding": "011011-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c001057", + "mask": "0xfc00707f" + }, + "vmfne_vv": { + "encoding": "011100-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x70001057", + "mask": "0xfc00707f" + }, + "vfdiv_vv": { + "encoding": "100000-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80001057", + "mask": "0xfc00707f" + }, + "vfmul_vv": { + "encoding": "100100-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x90001057", + "mask": "0xfc00707f" + }, + "vfmadd_vv": { + "encoding": "101000-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0001057", + "mask": "0xfc00707f" + }, + "vfnmadd_vv": { + "encoding": "101001-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4001057", + "mask": "0xfc00707f" + }, + "vfmsub_vv": { + "encoding": "101010-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8001057", + "mask": "0xfc00707f" + }, + "vfnmsub_vv": { + "encoding": "101011-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac001057", + "mask": "0xfc00707f" + }, + "vfmacc_vv": { + "encoding": "101100-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb0001057", + "mask": "0xfc00707f" + }, + "vfnmacc_vv": { + "encoding": "101101-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb4001057", + "mask": "0xfc00707f" + }, + "vfmsac_vv": { + "encoding": "101110-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb8001057", + "mask": "0xfc00707f" + }, + "vfnmsac_vv": { + "encoding": "101111-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xbc001057", + "mask": "0xfc00707f" + }, + "vfcvt_xu_f_v": { + "encoding": "010010------00000001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48001057", + "mask": "0xfc0ff07f" + }, + "vfcvt_x_f_v": { + "encoding": "010010------00001001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48009057", + "mask": "0xfc0ff07f" + }, + "vfcvt_f_xu_v": { + "encoding": "010010------00010001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48011057", + "mask": "0xfc0ff07f" + }, + "vfcvt_f_x_v": { + "encoding": "010010------00011001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48019057", + "mask": "0xfc0ff07f" + }, + "vfcvt_rtz_xu_f_v": { + "encoding": "010010------00110001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48031057", + "mask": "0xfc0ff07f" + }, + "vfcvt_rtz_x_f_v": { + "encoding": "010010------00111001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48039057", + "mask": "0xfc0ff07f" + }, + "vfwcvt_xu_f_v": { + "encoding": "010010------01000001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48041057", + "mask": "0xfc0ff07f" + }, + "vfwcvt_x_f_v": { + "encoding": "010010------01001001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48049057", + "mask": "0xfc0ff07f" + }, + "vfwcvt_f_xu_v": { + "encoding": "010010------01010001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48051057", + "mask": "0xfc0ff07f" + }, + "vfwcvt_f_x_v": { + "encoding": "010010------01011001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48059057", + "mask": "0xfc0ff07f" + }, + "vfwcvt_f_f_v": { + "encoding": "010010------01100001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48061057", + "mask": "0xfc0ff07f" + }, + "vfwcvt_rtz_xu_f_v": { + "encoding": "010010------01110001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48071057", + "mask": "0xfc0ff07f" + }, + "vfwcvt_rtz_x_f_v": { + "encoding": "010010------01111001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48079057", + "mask": "0xfc0ff07f" + }, + "vfncvt_xu_f_w": { + "encoding": "010010------10000001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48081057", + "mask": "0xfc0ff07f" + }, + "vfncvt_x_f_w": { + "encoding": "010010------10001001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48089057", + "mask": "0xfc0ff07f" + }, + "vfncvt_f_xu_w": { + "encoding": "010010------10010001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48091057", + "mask": "0xfc0ff07f" + }, + "vfncvt_f_x_w": { + "encoding": "010010------10011001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48099057", + "mask": "0xfc0ff07f" + }, + "vfncvt_f_f_w": { + "encoding": "010010------10100001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x480a1057", + "mask": "0xfc0ff07f" + }, + "vfncvt_rod_f_f_w": { + "encoding": "010010------10101001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x480a9057", + "mask": "0xfc0ff07f" + }, + "vfncvt_rtz_xu_f_w": { + "encoding": "010010------10110001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x480b1057", + "mask": "0xfc0ff07f" + }, + "vfncvt_rtz_x_f_w": { + "encoding": "010010------10111001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x480b9057", + "mask": "0xfc0ff07f" + }, + "vfsqrt_v": { + "encoding": "010011------00000001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c001057", + "mask": "0xfc0ff07f" + }, + "vfrsqrt7_v": { + "encoding": "010011------00100001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c021057", + "mask": "0xfc0ff07f" + }, + "vfrec7_v": { + "encoding": "010011------00101001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c029057", + "mask": "0xfc0ff07f" + }, + "vfclass_v": { + "encoding": "010011------10000001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c081057", + "mask": "0xfc0ff07f" + }, + "vfwadd_vv": { + "encoding": "110000-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0001057", + "mask": "0xfc00707f" + }, + "vfwredusum_vs": { + "encoding": "110001-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4001057", + "mask": "0xfc00707f" + }, + "vfwsub_vv": { + "encoding": "110010-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8001057", + "mask": "0xfc00707f" + }, + "vfwredosum_vs": { + "encoding": "110011-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc001057", + "mask": "0xfc00707f" + }, + "vfwadd_wv": { + "encoding": "110100-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd0001057", + "mask": "0xfc00707f" + }, + "vfwsub_wv": { + "encoding": "110110-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd8001057", + "mask": "0xfc00707f" + }, + "vfwmul_vv": { + "encoding": "111000-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0001057", + "mask": "0xfc00707f" + }, + "vfwmacc_vv": { + "encoding": "111100-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf0001057", + "mask": "0xfc00707f" + }, + "vfwnmacc_vv": { + "encoding": "111101-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf4001057", + "mask": "0xfc00707f" + }, + "vfwmsac_vv": { + "encoding": "111110-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf8001057", + "mask": "0xfc00707f" + }, + "vfwnmsac_vv": { + "encoding": "111111-----------001-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xfc001057", + "mask": "0xfc00707f" + }, + "vadd_vx": { + "encoding": "000000-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4057", + "mask": "0xfc00707f" + }, + "vsub_vx": { + "encoding": "000010-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8004057", + "mask": "0xfc00707f" + }, + "vrsub_vx": { + "encoding": "000011-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc004057", + "mask": "0xfc00707f" + }, + "vminu_vx": { + "encoding": "000100-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x10004057", + "mask": "0xfc00707f" + }, + "vmin_vx": { + "encoding": "000101-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x14004057", + "mask": "0xfc00707f" + }, + "vmaxu_vx": { + "encoding": "000110-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x18004057", + "mask": "0xfc00707f" + }, + "vmax_vx": { + "encoding": "000111-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1c004057", + "mask": "0xfc00707f" + }, + "vand_vx": { + "encoding": "001001-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24004057", + "mask": "0xfc00707f" + }, + "vor_vx": { + "encoding": "001010-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28004057", + "mask": "0xfc00707f" + }, + "vxor_vx": { + "encoding": "001011-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c004057", + "mask": "0xfc00707f" + }, + "vrgather_vx": { + "encoding": "001100-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x30004057", + "mask": "0xfc00707f" + }, + "vslideup_vx": { + "encoding": "001110-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x38004057", + "mask": "0xfc00707f" + }, + "vslidedown_vx": { + "encoding": "001111-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x3c004057", + "mask": "0xfc00707f" + }, + "vadc_vxm": { + "encoding": "0100000----------100-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40004057", + "mask": "0xfe00707f" + }, + "vmadc_vxm": { + "encoding": "0100010----------100-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x44004057", + "mask": "0xfe00707f" + }, + "vmadc_vx": { + "encoding": "0100011----------100-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x46004057", + "mask": "0xfe00707f" + }, + "vsbc_vxm": { + "encoding": "0100100----------100-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48004057", + "mask": "0xfe00707f" + }, + "vmsbc_vxm": { + "encoding": "0100110----------100-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c004057", + "mask": "0xfe00707f" + }, + "vmsbc_vx": { + "encoding": "0100111----------100-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4e004057", + "mask": "0xfe00707f" + }, + "vmerge_vxm": { + "encoding": "0101110----------100-----1010111", + "variable_fields": [ + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5c004057", + "mask": "0xfe00707f" + }, + "vmv_v_x": { + "encoding": "010111100000-----100-----1010111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5e004057", + "mask": "0xfff0707f" + }, + "vmseq_vx": { + "encoding": "011000-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60004057", + "mask": "0xfc00707f" + }, + "vmsne_vx": { + "encoding": "011001-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64004057", + "mask": "0xfc00707f" + }, + "vmsltu_vx": { + "encoding": "011010-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x68004057", + "mask": "0xfc00707f" + }, + "vmslt_vx": { + "encoding": "011011-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c004057", + "mask": "0xfc00707f" + }, + "vmsleu_vx": { + "encoding": "011100-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x70004057", + "mask": "0xfc00707f" + }, + "vmsle_vx": { + "encoding": "011101-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x74004057", + "mask": "0xfc00707f" + }, + "vmsgtu_vx": { + "encoding": "011110-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x78004057", + "mask": "0xfc00707f" + }, + "vmsgt_vx": { + "encoding": "011111-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7c004057", + "mask": "0xfc00707f" + }, + "vsaddu_vx": { + "encoding": "100000-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80004057", + "mask": "0xfc00707f" + }, + "vsadd_vx": { + "encoding": "100001-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84004057", + "mask": "0xfc00707f" + }, + "vssubu_vx": { + "encoding": "100010-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88004057", + "mask": "0xfc00707f" + }, + "vssub_vx": { + "encoding": "100011-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c004057", + "mask": "0xfc00707f" + }, + "vsll_vx": { + "encoding": "100101-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x94004057", + "mask": "0xfc00707f" + }, + "vsmul_vx": { + "encoding": "100111-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9c004057", + "mask": "0xfc00707f" + }, + "vsrl_vx": { + "encoding": "101000-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0004057", + "mask": "0xfc00707f" + }, + "vsra_vx": { + "encoding": "101001-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4004057", + "mask": "0xfc00707f" + }, + "vssrl_vx": { + "encoding": "101010-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8004057", + "mask": "0xfc00707f" + }, + "vssra_vx": { + "encoding": "101011-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac004057", + "mask": "0xfc00707f" + }, + "vnsrl_wx": { + "encoding": "101100-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb0004057", + "mask": "0xfc00707f" + }, + "vnsra_wx": { + "encoding": "101101-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb4004057", + "mask": "0xfc00707f" + }, + "vnclipu_wx": { + "encoding": "101110-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb8004057", + "mask": "0xfc00707f" + }, + "vnclip_wx": { + "encoding": "101111-----------100-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xbc004057", + "mask": "0xfc00707f" + }, + "vadd_vv": { + "encoding": "000000-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x57", + "mask": "0xfc00707f" + }, + "vsub_vv": { + "encoding": "000010-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8000057", + "mask": "0xfc00707f" + }, + "vminu_vv": { + "encoding": "000100-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x10000057", + "mask": "0xfc00707f" + }, + "vmin_vv": { + "encoding": "000101-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x14000057", + "mask": "0xfc00707f" + }, + "vmaxu_vv": { + "encoding": "000110-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x18000057", + "mask": "0xfc00707f" + }, + "vmax_vv": { + "encoding": "000111-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1c000057", + "mask": "0xfc00707f" + }, + "vand_vv": { + "encoding": "001001-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24000057", + "mask": "0xfc00707f" + }, + "vor_vv": { + "encoding": "001010-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28000057", + "mask": "0xfc00707f" + }, + "vxor_vv": { + "encoding": "001011-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c000057", + "mask": "0xfc00707f" + }, + "vrgather_vv": { + "encoding": "001100-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x30000057", + "mask": "0xfc00707f" + }, + "vrgatherei16_vv": { + "encoding": "001110-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x38000057", + "mask": "0xfc00707f" + }, + "vadc_vvm": { + "encoding": "0100000----------000-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40000057", + "mask": "0xfe00707f" + }, + "vmadc_vvm": { + "encoding": "0100010----------000-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x44000057", + "mask": "0xfe00707f" + }, + "vmadc_vv": { + "encoding": "0100011----------000-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x46000057", + "mask": "0xfe00707f" + }, + "vsbc_vvm": { + "encoding": "0100100----------000-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48000057", + "mask": "0xfe00707f" + }, + "vmsbc_vvm": { + "encoding": "0100110----------000-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4c000057", + "mask": "0xfe00707f" + }, + "vmsbc_vv": { + "encoding": "0100111----------000-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4e000057", + "mask": "0xfe00707f" + }, + "vmerge_vvm": { + "encoding": "0101110----------000-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5c000057", + "mask": "0xfe00707f" + }, + "vmv_v_v": { + "encoding": "010111100000-----000-----1010111", + "variable_fields": [ + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5e000057", + "mask": "0xfff0707f" + }, + "vmseq_vv": { + "encoding": "011000-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60000057", + "mask": "0xfc00707f" + }, + "vmsne_vv": { + "encoding": "011001-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64000057", + "mask": "0xfc00707f" + }, + "vmsltu_vv": { + "encoding": "011010-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x68000057", + "mask": "0xfc00707f" + }, + "vmslt_vv": { + "encoding": "011011-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6c000057", + "mask": "0xfc00707f" + }, + "vmsleu_vv": { + "encoding": "011100-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x70000057", + "mask": "0xfc00707f" + }, + "vmsle_vv": { + "encoding": "011101-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x74000057", + "mask": "0xfc00707f" + }, + "vsaddu_vv": { + "encoding": "100000-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80000057", + "mask": "0xfc00707f" + }, + "vsadd_vv": { + "encoding": "100001-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84000057", + "mask": "0xfc00707f" + }, + "vssubu_vv": { + "encoding": "100010-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88000057", + "mask": "0xfc00707f" + }, + "vssub_vv": { + "encoding": "100011-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c000057", + "mask": "0xfc00707f" + }, + "vsll_vv": { + "encoding": "100101-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x94000057", + "mask": "0xfc00707f" + }, + "vsmul_vv": { + "encoding": "100111-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9c000057", + "mask": "0xfc00707f" + }, + "vsrl_vv": { + "encoding": "101000-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0000057", + "mask": "0xfc00707f" + }, + "vsra_vv": { + "encoding": "101001-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4000057", + "mask": "0xfc00707f" + }, + "vssrl_vv": { + "encoding": "101010-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8000057", + "mask": "0xfc00707f" + }, + "vssra_vv": { + "encoding": "101011-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac000057", + "mask": "0xfc00707f" + }, + "vnsrl_wv": { + "encoding": "101100-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb0000057", + "mask": "0xfc00707f" + }, + "vnsra_wv": { + "encoding": "101101-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb4000057", + "mask": "0xfc00707f" + }, + "vnclipu_wv": { + "encoding": "101110-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb8000057", + "mask": "0xfc00707f" + }, + "vnclip_wv": { + "encoding": "101111-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xbc000057", + "mask": "0xfc00707f" + }, + "vwredsumu_vs": { + "encoding": "110000-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0000057", + "mask": "0xfc00707f" + }, + "vwredsum_vs": { + "encoding": "110001-----------000-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4000057", + "mask": "0xfc00707f" + }, + "vadd_vi": { + "encoding": "000000-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x3057", + "mask": "0xfc00707f" + }, + "vrsub_vi": { + "encoding": "000011-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc003057", + "mask": "0xfc00707f" + }, + "vand_vi": { + "encoding": "001001-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24003057", + "mask": "0xfc00707f" + }, + "vor_vi": { + "encoding": "001010-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28003057", + "mask": "0xfc00707f" + }, + "vxor_vi": { + "encoding": "001011-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c003057", + "mask": "0xfc00707f" + }, + "vrgather_vi": { + "encoding": "001100-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x30003057", + "mask": "0xfc00707f" + }, + "vslideup_vi": { + "encoding": "001110-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x38003057", + "mask": "0xfc00707f" + }, + "vslidedown_vi": { + "encoding": "001111-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x3c003057", + "mask": "0xfc00707f" + }, + "vadc_vim": { + "encoding": "0100000----------011-----1010111", + "variable_fields": [ + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40003057", + "mask": "0xfe00707f" + }, + "vmadc_vim": { + "encoding": "0100010----------011-----1010111", + "variable_fields": [ + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x44003057", + "mask": "0xfe00707f" + }, + "vmadc_vi": { + "encoding": "0100011----------011-----1010111", + "variable_fields": [ + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x46003057", + "mask": "0xfe00707f" + }, + "vmerge_vim": { + "encoding": "0101110----------011-----1010111", + "variable_fields": [ + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5c003057", + "mask": "0xfe00707f" + }, + "vmv_v_i": { + "encoding": "010111100000-----011-----1010111", + "variable_fields": [ + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5e003057", + "mask": "0xfff0707f" + }, + "vmseq_vi": { + "encoding": "011000-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x60003057", + "mask": "0xfc00707f" + }, + "vmsne_vi": { + "encoding": "011001-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x64003057", + "mask": "0xfc00707f" + }, + "vmsleu_vi": { + "encoding": "011100-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x70003057", + "mask": "0xfc00707f" + }, + "vmsle_vi": { + "encoding": "011101-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x74003057", + "mask": "0xfc00707f" + }, + "vmsgtu_vi": { + "encoding": "011110-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x78003057", + "mask": "0xfc00707f" + }, + "vmsgt_vi": { + "encoding": "011111-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7c003057", + "mask": "0xfc00707f" + }, + "vsaddu_vi": { + "encoding": "100000-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80003057", + "mask": "0xfc00707f" + }, + "vsadd_vi": { + "encoding": "100001-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84003057", + "mask": "0xfc00707f" + }, + "vsll_vi": { + "encoding": "100101-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x94003057", + "mask": "0xfc00707f" + }, + "vmv1r_v": { + "encoding": "1001111-----00000011-----1010111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9e003057", + "mask": "0xfe0ff07f" + }, + "vmv2r_v": { + "encoding": "1001111-----00001011-----1010111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9e00b057", + "mask": "0xfe0ff07f" + }, + "vmv4r_v": { + "encoding": "1001111-----00011011-----1010111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9e01b057", + "mask": "0xfe0ff07f" + }, + "vmv8r_v": { + "encoding": "1001111-----00111011-----1010111", + "variable_fields": [ + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9e03b057", + "mask": "0xfe0ff07f" + }, + "vsrl_vi": { + "encoding": "101000-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa0003057", + "mask": "0xfc00707f" + }, + "vsra_vi": { + "encoding": "101001-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4003057", + "mask": "0xfc00707f" + }, + "vssrl_vi": { + "encoding": "101010-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa8003057", + "mask": "0xfc00707f" + }, + "vssra_vi": { + "encoding": "101011-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac003057", + "mask": "0xfc00707f" + }, + "vnsrl_wi": { + "encoding": "101100-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb0003057", + "mask": "0xfc00707f" + }, + "vnsra_wi": { + "encoding": "101101-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb4003057", + "mask": "0xfc00707f" + }, + "vnclipu_wi": { + "encoding": "101110-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb8003057", + "mask": "0xfc00707f" + }, + "vnclip_wi": { + "encoding": "101111-----------011-----1010111", + "variable_fields": [ + "vm", + "vs2", + "simm5", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xbc003057", + "mask": "0xfc00707f" + }, + "vredsum_vs": { + "encoding": "000000-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2057", + "mask": "0xfc00707f" + }, + "vredand_vs": { + "encoding": "000001-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4002057", + "mask": "0xfc00707f" + }, + "vredor_vs": { + "encoding": "000010-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8002057", + "mask": "0xfc00707f" + }, + "vredxor_vs": { + "encoding": "000011-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc002057", + "mask": "0xfc00707f" + }, + "vredminu_vs": { + "encoding": "000100-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x10002057", + "mask": "0xfc00707f" + }, + "vredmin_vs": { + "encoding": "000101-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x14002057", + "mask": "0xfc00707f" + }, + "vredmaxu_vs": { + "encoding": "000110-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x18002057", + "mask": "0xfc00707f" + }, + "vredmax_vs": { + "encoding": "000111-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x1c002057", + "mask": "0xfc00707f" + }, + "vaaddu_vv": { + "encoding": "001000-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20002057", + "mask": "0xfc00707f" + }, + "vaadd_vv": { + "encoding": "001001-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24002057", + "mask": "0xfc00707f" + }, + "vasubu_vv": { + "encoding": "001010-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28002057", + "mask": "0xfc00707f" + }, + "vasub_vv": { + "encoding": "001011-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c002057", + "mask": "0xfc00707f" + }, + "vmv_x_s": { + "encoding": "0100001-----00000010-----1010111", + "variable_fields": [ + "vs2", + "rd" + ], + "extension": [ + "rv_v" + ], + "match": "0x42002057", + "mask": "0xfe0ff07f" + }, + "vzext_vf8": { + "encoding": "010010------00010010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48012057", + "mask": "0xfc0ff07f" + }, + "vsext_vf8": { + "encoding": "010010------00011010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4801a057", + "mask": "0xfc0ff07f" + }, + "vzext_vf4": { + "encoding": "010010------00100010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48022057", + "mask": "0xfc0ff07f" + }, + "vsext_vf4": { + "encoding": "010010------00101010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4802a057", + "mask": "0xfc0ff07f" + }, + "vzext_vf2": { + "encoding": "010010------00110010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x48032057", + "mask": "0xfc0ff07f" + }, + "vsext_vf2": { + "encoding": "010010------00111010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4803a057", + "mask": "0xfc0ff07f" + }, + "vcompress_vm": { + "encoding": "0101111----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5e002057", + "mask": "0xfe00707f" + }, + "vmandn_mm": { + "encoding": "0110001----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x62002057", + "mask": "0xfe00707f" + }, + "vmand_mm": { + "encoding": "0110011----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x66002057", + "mask": "0xfe00707f" + }, + "vmor_mm": { + "encoding": "0110101----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6a002057", + "mask": "0xfe00707f" + }, + "vmxor_mm": { + "encoding": "0110111----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x6e002057", + "mask": "0xfe00707f" + }, + "vmorn_mm": { + "encoding": "0111001----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x72002057", + "mask": "0xfe00707f" + }, + "vmnand_mm": { + "encoding": "0111011----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x76002057", + "mask": "0xfe00707f" + }, + "vmnor_mm": { + "encoding": "0111101----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7a002057", + "mask": "0xfe00707f" + }, + "vmxnor_mm": { + "encoding": "0111111----------010-----1010111", + "variable_fields": [ + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x7e002057", + "mask": "0xfe00707f" + }, + "vmsbf_m": { + "encoding": "010100------00001010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5000a057", + "mask": "0xfc0ff07f" + }, + "vmsof_m": { + "encoding": "010100------00010010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x50012057", + "mask": "0xfc0ff07f" + }, + "vmsif_m": { + "encoding": "010100------00011010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5001a057", + "mask": "0xfc0ff07f" + }, + "viota_m": { + "encoding": "010100------10000010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x50082057", + "mask": "0xfc0ff07f" + }, + "vid_v": { + "encoding": "010100-0000010001010-----1010111", + "variable_fields": [ + "vm", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x5008a057", + "mask": "0xfdfff07f" + }, + "vcpop_m": { + "encoding": "010000------10000010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rd" + ], + "extension": [ + "rv_v" + ], + "match": "0x40082057", + "mask": "0xfc0ff07f" + }, + "vfirst_m": { + "encoding": "010000------10001010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rd" + ], + "extension": [ + "rv_v" + ], + "match": "0x4008a057", + "mask": "0xfc0ff07f" + }, + "vdivu_vv": { + "encoding": "100000-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80002057", + "mask": "0xfc00707f" + }, + "vdiv_vv": { + "encoding": "100001-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84002057", + "mask": "0xfc00707f" + }, + "vremu_vv": { + "encoding": "100010-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88002057", + "mask": "0xfc00707f" + }, + "vrem_vv": { + "encoding": "100011-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c002057", + "mask": "0xfc00707f" + }, + "vmulhu_vv": { + "encoding": "100100-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x90002057", + "mask": "0xfc00707f" + }, + "vmul_vv": { + "encoding": "100101-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x94002057", + "mask": "0xfc00707f" + }, + "vmulhsu_vv": { + "encoding": "100110-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x98002057", + "mask": "0xfc00707f" + }, + "vmulh_vv": { + "encoding": "100111-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9c002057", + "mask": "0xfc00707f" + }, + "vmadd_vv": { + "encoding": "101001-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4002057", + "mask": "0xfc00707f" + }, + "vnmsub_vv": { + "encoding": "101011-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac002057", + "mask": "0xfc00707f" + }, + "vmacc_vv": { + "encoding": "101101-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb4002057", + "mask": "0xfc00707f" + }, + "vnmsac_vv": { + "encoding": "101111-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xbc002057", + "mask": "0xfc00707f" + }, + "vwaddu_vv": { + "encoding": "110000-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0002057", + "mask": "0xfc00707f" + }, + "vwadd_vv": { + "encoding": "110001-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4002057", + "mask": "0xfc00707f" + }, + "vwsubu_vv": { + "encoding": "110010-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8002057", + "mask": "0xfc00707f" + }, + "vwsub_vv": { + "encoding": "110011-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc002057", + "mask": "0xfc00707f" + }, + "vwaddu_wv": { + "encoding": "110100-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd0002057", + "mask": "0xfc00707f" + }, + "vwadd_wv": { + "encoding": "110101-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd4002057", + "mask": "0xfc00707f" + }, + "vwsubu_wv": { + "encoding": "110110-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd8002057", + "mask": "0xfc00707f" + }, + "vwsub_wv": { + "encoding": "110111-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xdc002057", + "mask": "0xfc00707f" + }, + "vwmulu_vv": { + "encoding": "111000-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0002057", + "mask": "0xfc00707f" + }, + "vwmulsu_vv": { + "encoding": "111010-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8002057", + "mask": "0xfc00707f" + }, + "vwmul_vv": { + "encoding": "111011-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xec002057", + "mask": "0xfc00707f" + }, + "vwmaccu_vv": { + "encoding": "111100-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf0002057", + "mask": "0xfc00707f" + }, + "vwmacc_vv": { + "encoding": "111101-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf4002057", + "mask": "0xfc00707f" + }, + "vwmaccsu_vv": { + "encoding": "111111-----------010-----1010111", + "variable_fields": [ + "vm", + "vs2", + "vs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xfc002057", + "mask": "0xfc00707f" + }, + "vaaddu_vx": { + "encoding": "001000-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x20006057", + "mask": "0xfc00707f" + }, + "vaadd_vx": { + "encoding": "001001-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x24006057", + "mask": "0xfc00707f" + }, + "vasubu_vx": { + "encoding": "001010-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x28006057", + "mask": "0xfc00707f" + }, + "vasub_vx": { + "encoding": "001011-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x2c006057", + "mask": "0xfc00707f" + }, + "vmv_s_x": { + "encoding": "010000100000-----110-----1010111", + "variable_fields": [ + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x42006057", + "mask": "0xfff0707f" + }, + "vslide1up_vx": { + "encoding": "001110-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x38006057", + "mask": "0xfc00707f" + }, + "vslide1down_vx": { + "encoding": "001111-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x3c006057", + "mask": "0xfc00707f" + }, + "vdivu_vx": { + "encoding": "100000-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x80006057", + "mask": "0xfc00707f" + }, + "vdiv_vx": { + "encoding": "100001-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x84006057", + "mask": "0xfc00707f" + }, + "vremu_vx": { + "encoding": "100010-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x88006057", + "mask": "0xfc00707f" + }, + "vrem_vx": { + "encoding": "100011-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x8c006057", + "mask": "0xfc00707f" + }, + "vmulhu_vx": { + "encoding": "100100-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x90006057", + "mask": "0xfc00707f" + }, + "vmul_vx": { + "encoding": "100101-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x94006057", + "mask": "0xfc00707f" + }, + "vmulhsu_vx": { + "encoding": "100110-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x98006057", + "mask": "0xfc00707f" + }, + "vmulh_vx": { + "encoding": "100111-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0x9c006057", + "mask": "0xfc00707f" + }, + "vmadd_vx": { + "encoding": "101001-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xa4006057", + "mask": "0xfc00707f" + }, + "vnmsub_vx": { + "encoding": "101011-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xac006057", + "mask": "0xfc00707f" + }, + "vmacc_vx": { + "encoding": "101101-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xb4006057", + "mask": "0xfc00707f" + }, + "vnmsac_vx": { + "encoding": "101111-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xbc006057", + "mask": "0xfc00707f" + }, + "vwaddu_vx": { + "encoding": "110000-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc0006057", + "mask": "0xfc00707f" + }, + "vwadd_vx": { + "encoding": "110001-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc4006057", + "mask": "0xfc00707f" + }, + "vwsubu_vx": { + "encoding": "110010-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xc8006057", + "mask": "0xfc00707f" + }, + "vwsub_vx": { + "encoding": "110011-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xcc006057", + "mask": "0xfc00707f" + }, + "vwaddu_wx": { + "encoding": "110100-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd0006057", + "mask": "0xfc00707f" + }, + "vwadd_wx": { + "encoding": "110101-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd4006057", + "mask": "0xfc00707f" + }, + "vwsubu_wx": { + "encoding": "110110-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xd8006057", + "mask": "0xfc00707f" + }, + "vwsub_wx": { + "encoding": "110111-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xdc006057", + "mask": "0xfc00707f" + }, + "vwmulu_vx": { + "encoding": "111000-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe0006057", + "mask": "0xfc00707f" + }, + "vwmulsu_vx": { + "encoding": "111010-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xe8006057", + "mask": "0xfc00707f" + }, + "vwmul_vx": { + "encoding": "111011-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xec006057", + "mask": "0xfc00707f" + }, + "vwmaccu_vx": { + "encoding": "111100-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf0006057", + "mask": "0xfc00707f" + }, + "vwmacc_vx": { + "encoding": "111101-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf4006057", + "mask": "0xfc00707f" + }, + "vwmaccus_vx": { + "encoding": "111110-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xf8006057", + "mask": "0xfc00707f" + }, + "vwmaccsu_vx": { + "encoding": "111111-----------110-----1010111", + "variable_fields": [ + "vm", + "vs2", + "rs1", + "vd" + ], + "extension": [ + "rv_v" + ], + "match": "0xfc006057", + "mask": "0xfc00707f" + }, + "mret": { + "encoding": "00110000001000000000000001110011", + "variable_fields": [], + "extension": [ + "rv_system" + ], + "match": "0x30200073", + "mask": "0xffffffff" + }, + "wfi": { + "encoding": "00010000010100000000000001110011", + "variable_fields": [], + "extension": [ + "rv_system" + ], + "match": "0x10500073", + "mask": "0xffffffff" + }, + "hinval_vvma": { + "encoding": "0010011----------000000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_svinval_h" + ], + "match": "0x26000073", + "mask": "0xfe007fff" + }, + "hinval_gvma": { + "encoding": "0110011----------000000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_svinval_h" + ], + "match": "0x66000073", + "mask": "0xfe007fff" + }, + "sinval_vma": { + "encoding": "0001011----------000000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_svinval" + ], + "match": "0x16000073", + "mask": "0xfe007fff" + }, + "sfence_w_inval": { + "encoding": "00011000000000000000000001110011", + "variable_fields": [], + "extension": [ + "rv_svinval" + ], + "match": "0x18000073", + "mask": "0xffffffff" + }, + "sfence_inval_ir": { + "encoding": "00011000000100000000000001110011", + "variable_fields": [], + "extension": [ + "rv_svinval" + ], + "match": "0x18100073", + "mask": "0xffffffff" + }, + "mnret": { + "encoding": "01110000001000000000000001110011", + "variable_fields": [], + "extension": [ + "rv_smrnmi" + ], + "match": "0x70200073", + "mask": "0xffffffff" + }, + "sctrclr": { + "encoding": "00010000010000000000000001110011", + "variable_fields": [], + "extension": [ + "rv_smdbltrp" + ], + "match": "0x10400073", + "mask": "0xffffffff" + }, + "dret": { + "encoding": "01111011001000000000000001110011", + "variable_fields": [], + "extension": [ + "rv_sdext" + ], + "match": "0x7b200073", + "mask": "0xffffffff" + }, + "sfence_vma": { + "encoding": "0001001----------000000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_s" + ], + "match": "0x12000073", + "mask": "0xfe007fff" + }, + "sret": { + "encoding": "00010000001000000000000001110011", + "variable_fields": [], + "extension": [ + "rv_s" + ], + "match": "0x10200073", + "mask": "0xffffffff" + }, + "fcvt_q_h": { + "encoding": "010001100010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q_zfh" + ], + "match": "0x46200053", + "mask": "0xfff0007f" + }, + "fcvt_h_q": { + "encoding": "010001000011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q_zfh" + ], + "match": "0x44300053", + "mask": "0xfff0007f" + }, + "fli_q": { + "encoding": "111101100001-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_q_zfa" + ], + "match": "0xf6100053", + "mask": "0xfff0707f" + }, + "fminm_q": { + "encoding": "0010111----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q_zfa" + ], + "match": "0x2e002053", + "mask": "0xfe00707f" + }, + "fmaxm_q": { + "encoding": "0010111----------011-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q_zfa" + ], + "match": "0x2e003053", + "mask": "0xfe00707f" + }, + "fround_q": { + "encoding": "010001100100-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q_zfa" + ], + "match": "0x46400053", + "mask": "0xfff0007f" + }, + "froundnx_q": { + "encoding": "010001100101-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q_zfa" + ], + "match": "0x46500053", + "mask": "0xfff0007f" + }, + "fleq_q": { + "encoding": "1010011----------100-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q_zfa" + ], + "match": "0xa6004053", + "mask": "0xfe00707f" + }, + "fltq_q": { + "encoding": "1010011----------101-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q_zfa" + ], + "match": "0xa6005053", + "mask": "0xfe00707f" + }, + "flq": { + "encoding": "-----------------100-----0000111", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_q" + ], + "match": "0x4007", + "mask": "0x707f" + }, + "fsq": { + "encoding": "-----------------100-----0100111", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv_q" + ], + "match": "0x4027", + "mask": "0x707f" + }, + "fmadd_q": { + "encoding": "-----11------------------1000011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x6000043", + "mask": "0x600007f" + }, + "fmsub_q": { + "encoding": "-----11------------------1000111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x6000047", + "mask": "0x600007f" + }, + "fnmsub_q": { + "encoding": "-----11------------------1001011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x600004b", + "mask": "0x600007f" + }, + "fnmadd_q": { + "encoding": "-----11------------------1001111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x600004f", + "mask": "0x600007f" + }, + "fadd_q": { + "encoding": "0000011------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x6000053", + "mask": "0xfe00007f" + }, + "fsub_q": { + "encoding": "0000111------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0xe000053", + "mask": "0xfe00007f" + }, + "fmul_q": { + "encoding": "0001011------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x16000053", + "mask": "0xfe00007f" + }, + "fdiv_q": { + "encoding": "0001111------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x1e000053", + "mask": "0xfe00007f" + }, + "fsqrt_q": { + "encoding": "010111100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x5e000053", + "mask": "0xfff0007f" + }, + "fsgnj_q": { + "encoding": "0010011----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0x26000053", + "mask": "0xfe00707f" + }, + "fsgnjn_q": { + "encoding": "0010011----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0x26001053", + "mask": "0xfe00707f" + }, + "fsgnjx_q": { + "encoding": "0010011----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0x26002053", + "mask": "0xfe00707f" + }, + "fmin_q": { + "encoding": "0010111----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0x2e000053", + "mask": "0xfe00707f" + }, + "fmax_q": { + "encoding": "0010111----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0x2e001053", + "mask": "0xfe00707f" + }, + "fcvt_s_q": { + "encoding": "010000000011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x40300053", + "mask": "0xfff0007f" + }, + "fcvt_q_s": { + "encoding": "010001100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x46000053", + "mask": "0xfff0007f" + }, + "fcvt_d_q": { + "encoding": "010000100011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x42300053", + "mask": "0xfff0007f" + }, + "fcvt_q_d": { + "encoding": "010001100001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0x46100053", + "mask": "0xfff0007f" + }, + "feq_q": { + "encoding": "1010011----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0xa6002053", + "mask": "0xfe00707f" + }, + "flt_q": { + "encoding": "1010011----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0xa6001053", + "mask": "0xfe00707f" + }, + "fle_q": { + "encoding": "1010011----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_q" + ], + "match": "0xa6000053", + "mask": "0xfe00707f" + }, + "fclass_q": { + "encoding": "111001100000-----001-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_q" + ], + "match": "0xe6001053", + "mask": "0xfff0707f" + }, + "fcvt_w_q": { + "encoding": "110001100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0xc6000053", + "mask": "0xfff0007f" + }, + "fcvt_wu_q": { + "encoding": "110001100001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0xc6100053", + "mask": "0xfff0007f" + }, + "fcvt_q_w": { + "encoding": "110101100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0xd6000053", + "mask": "0xfff0007f" + }, + "fcvt_q_wu": { + "encoding": "110101100001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_q" + ], + "match": "0xd6100053", + "mask": "0xfff0007f" + }, + "mul": { + "encoding": "0000001----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2000033", + "mask": "0xfe00707f" + }, + "mulh": { + "encoding": "0000001----------001-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2001033", + "mask": "0xfe00707f" + }, + "mulhsu": { + "encoding": "0000001----------010-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2002033", + "mask": "0xfe00707f" + }, + "mulhu": { + "encoding": "0000001----------011-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2003033", + "mask": "0xfe00707f" + }, + "div": { + "encoding": "0000001----------100-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2004033", + "mask": "0xfe00707f" + }, + "divu": { + "encoding": "0000001----------101-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2005033", + "mask": "0xfe00707f" + }, + "rem": { + "encoding": "0000001----------110-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2006033", + "mask": "0xfe00707f" + }, + "remu": { + "encoding": "0000001----------111-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_m" + ], + "match": "0x2007033", + "mask": "0xfe00707f" + }, + "lui": { + "encoding": "-------------------------0110111", + "variable_fields": [ + "rd", + "imm20" + ], + "extension": [ + "rv_i" + ], + "match": "0x37", + "mask": "0x7f" + }, + "auipc": { + "encoding": "-------------------------0010111", + "variable_fields": [ + "rd", + "imm20" + ], + "extension": [ + "rv_i" + ], + "match": "0x17", + "mask": "0x7f" + }, + "jal": { + "encoding": "-------------------------1101111", + "variable_fields": [ + "rd", + "jimm20" + ], + "extension": [ + "rv_i" + ], + "match": "0x6f", + "mask": "0x7f" + }, + "jalr": { + "encoding": "-----------------000-----1100111", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x67", + "mask": "0x707f" + }, + "beq": { + "encoding": "-----------------000-----1100011", + "variable_fields": [ + "bimm12hi", + "rs1", + "rs2", + "bimm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x63", + "mask": "0x707f" + }, + "bne": { + "encoding": "-----------------001-----1100011", + "variable_fields": [ + "bimm12hi", + "rs1", + "rs2", + "bimm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x1063", + "mask": "0x707f" + }, + "blt": { + "encoding": "-----------------100-----1100011", + "variable_fields": [ + "bimm12hi", + "rs1", + "rs2", + "bimm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x4063", + "mask": "0x707f" + }, + "bge": { + "encoding": "-----------------101-----1100011", + "variable_fields": [ + "bimm12hi", + "rs1", + "rs2", + "bimm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x5063", + "mask": "0x707f" + }, + "bltu": { + "encoding": "-----------------110-----1100011", + "variable_fields": [ + "bimm12hi", + "rs1", + "rs2", + "bimm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x6063", + "mask": "0x707f" + }, + "bgeu": { + "encoding": "-----------------111-----1100011", + "variable_fields": [ + "bimm12hi", + "rs1", + "rs2", + "bimm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x7063", + "mask": "0x707f" + }, + "lb": { + "encoding": "-----------------000-----0000011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x3", + "mask": "0x707f" + }, + "lh": { + "encoding": "-----------------001-----0000011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x1003", + "mask": "0x707f" + }, + "lw": { + "encoding": "-----------------010-----0000011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x2003", + "mask": "0x707f" + }, + "lbu": { + "encoding": "-----------------100-----0000011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x4003", + "mask": "0x707f" + }, + "lhu": { + "encoding": "-----------------101-----0000011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x5003", + "mask": "0x707f" + }, + "sb": { + "encoding": "-----------------000-----0100011", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x23", + "mask": "0x707f" + }, + "sh": { + "encoding": "-----------------001-----0100011", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x1023", + "mask": "0x707f" + }, + "sw": { + "encoding": "-----------------010-----0100011", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv_i" + ], + "match": "0x2023", + "mask": "0x707f" + }, + "addi": { + "encoding": "-----------------000-----0010011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x13", + "mask": "0x707f" + }, + "slti": { + "encoding": "-----------------010-----0010011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x2013", + "mask": "0x707f" + }, + "sltiu": { + "encoding": "-----------------011-----0010011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x3013", + "mask": "0x707f" + }, + "xori": { + "encoding": "-----------------100-----0010011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x4013", + "mask": "0x707f" + }, + "ori": { + "encoding": "-----------------110-----0010011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x6013", + "mask": "0x707f" + }, + "andi": { + "encoding": "-----------------111-----0010011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_i" + ], + "match": "0x7013", + "mask": "0x707f" + }, + "add": { + "encoding": "0000000----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x33", + "mask": "0xfe00707f" + }, + "sub": { + "encoding": "0100000----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x40000033", + "mask": "0xfe00707f" + }, + "sll": { + "encoding": "0000000----------001-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x1033", + "mask": "0xfe00707f" + }, + "slt": { + "encoding": "0000000----------010-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x2033", + "mask": "0xfe00707f" + }, + "sltu": { + "encoding": "0000000----------011-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x3033", + "mask": "0xfe00707f" + }, + "xor": { + "encoding": "0000000----------100-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x4033", + "mask": "0xfe00707f" + }, + "srl": { + "encoding": "0000000----------101-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x5033", + "mask": "0xfe00707f" + }, + "sra": { + "encoding": "0100000----------101-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x40005033", + "mask": "0xfe00707f" + }, + "or": { + "encoding": "0000000----------110-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x6033", + "mask": "0xfe00707f" + }, + "and": { + "encoding": "0000000----------111-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_i" + ], + "match": "0x7033", + "mask": "0xfe00707f" + }, + "fence": { + "encoding": "-----------------000-----0001111", + "variable_fields": [ + "fm", + "pred", + "succ", + "rs1", + "rd" + ], + "extension": [ + "rv_i" + ], + "match": "0xf", + "mask": "0x707f" + }, + "ecall": { + "encoding": "00000000000000000000000001110011", + "variable_fields": [], + "extension": [ + "rv_i" + ], + "match": "0x73", + "mask": "0xffffffff" + }, + "ebreak": { + "encoding": "00000000000100000000000001110011", + "variable_fields": [], + "extension": [ + "rv_i" + ], + "match": "0x100073", + "mask": "0xffffffff" + }, + "hfence_vvma": { + "encoding": "0010001----------000000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_h" + ], + "match": "0x22000073", + "mask": "0xfe007fff" + }, + "hfence_gvma": { + "encoding": "0110001----------000000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_h" + ], + "match": "0x62000073", + "mask": "0xfe007fff" + }, + "hlv_b": { + "encoding": "011000000000-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_h" + ], + "match": "0x60004073", + "mask": "0xfff0707f" + }, + "hlv_bu": { + "encoding": "011000000001-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_h" + ], + "match": "0x60104073", + "mask": "0xfff0707f" + }, + "hlv_h": { + "encoding": "011001000000-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_h" + ], + "match": "0x64004073", + "mask": "0xfff0707f" + }, + "hlv_hu": { + "encoding": "011001000001-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_h" + ], + "match": "0x64104073", + "mask": "0xfff0707f" + }, + "hlvx_hu": { + "encoding": "011001000011-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_h" + ], + "match": "0x64304073", + "mask": "0xfff0707f" + }, + "hlv_w": { + "encoding": "011010000000-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_h" + ], + "match": "0x68004073", + "mask": "0xfff0707f" + }, + "hlvx_wu": { + "encoding": "011010000011-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_h" + ], + "match": "0x68304073", + "mask": "0xfff0707f" + }, + "hsv_b": { + "encoding": "0110001----------100000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_h" + ], + "match": "0x62004073", + "mask": "0xfe007fff" + }, + "hsv_h": { + "encoding": "0110011----------100000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_h" + ], + "match": "0x66004073", + "mask": "0xfe007fff" + }, + "hsv_w": { + "encoding": "0110101----------100000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv_h" + ], + "match": "0x6a004073", + "mask": "0xfe007fff" + }, + "fli_s": { + "encoding": "111100000001-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_f_zfa" + ], + "match": "0xf0100053", + "mask": "0xfff0707f" + }, + "fminm_s": { + "encoding": "0010100----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f_zfa" + ], + "match": "0x28002053", + "mask": "0xfe00707f" + }, + "fmaxm_s": { + "encoding": "0010100----------011-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f_zfa" + ], + "match": "0x28003053", + "mask": "0xfe00707f" + }, + "fround_s": { + "encoding": "010000000100-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_f_zfa" + ], + "match": "0x40400053", + "mask": "0xfff0007f" + }, + "froundnx_s": { + "encoding": "010000000101-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_f_zfa" + ], + "match": "0x40500053", + "mask": "0xfff0007f" + }, + "fleq_s": { + "encoding": "1010000----------100-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f_zfa" + ], + "match": "0xa0004053", + "mask": "0xfe00707f" + }, + "fltq_s": { + "encoding": "1010000----------101-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f_zfa" + ], + "match": "0xa0005053", + "mask": "0xfe00707f" + }, + "flw": { + "encoding": "-----------------010-----0000111", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_f" + ], + "match": "0x2007", + "mask": "0x707f" + }, + "fsw": { + "encoding": "-----------------010-----0100111", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv_f" + ], + "match": "0x2027", + "mask": "0x707f" + }, + "fmadd_s": { + "encoding": "-----00------------------1000011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x43", + "mask": "0x600007f" + }, + "fmsub_s": { + "encoding": "-----00------------------1000111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x47", + "mask": "0x600007f" + }, + "fnmsub_s": { + "encoding": "-----00------------------1001011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x4b", + "mask": "0x600007f" + }, + "fnmadd_s": { + "encoding": "-----00------------------1001111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x4f", + "mask": "0x600007f" + }, + "fadd_s": { + "encoding": "0000000------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x53", + "mask": "0xfe00007f" + }, + "fsub_s": { + "encoding": "0000100------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x8000053", + "mask": "0xfe00007f" + }, + "fmul_s": { + "encoding": "0001000------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x10000053", + "mask": "0xfe00007f" + }, + "fdiv_s": { + "encoding": "0001100------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x18000053", + "mask": "0xfe00007f" + }, + "fsqrt_s": { + "encoding": "010110000000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0x58000053", + "mask": "0xfff0007f" + }, + "fsgnj_s": { + "encoding": "0010000----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0x20000053", + "mask": "0xfe00707f" + }, + "fsgnjn_s": { + "encoding": "0010000----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0x20001053", + "mask": "0xfe00707f" + }, + "fsgnjx_s": { + "encoding": "0010000----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0x20002053", + "mask": "0xfe00707f" + }, + "fmin_s": { + "encoding": "0010100----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0x28000053", + "mask": "0xfe00707f" + }, + "fmax_s": { + "encoding": "0010100----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0x28001053", + "mask": "0xfe00707f" + }, + "fcvt_w_s": { + "encoding": "110000000000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0xc0000053", + "mask": "0xfff0007f" + }, + "fcvt_wu_s": { + "encoding": "110000000001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0xc0100053", + "mask": "0xfff0007f" + }, + "fmv_x_w": { + "encoding": "111000000000-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_f" + ], + "match": "0xe0000053", + "mask": "0xfff0707f" + }, + "feq_s": { + "encoding": "1010000----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0xa0002053", + "mask": "0xfe00707f" + }, + "flt_s": { + "encoding": "1010000----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0xa0001053", + "mask": "0xfe00707f" + }, + "fle_s": { + "encoding": "1010000----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_f" + ], + "match": "0xa0000053", + "mask": "0xfe00707f" + }, + "fclass_s": { + "encoding": "111000000000-----001-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_f" + ], + "match": "0xe0001053", + "mask": "0xfff0707f" + }, + "fcvt_s_w": { + "encoding": "110100000000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0xd0000053", + "mask": "0xfff0007f" + }, + "fcvt_s_wu": { + "encoding": "110100000001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_f" + ], + "match": "0xd0100053", + "mask": "0xfff0007f" + }, + "fmv_w_x": { + "encoding": "111100000000-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_f" + ], + "match": "0xf0000053", + "mask": "0xfff0707f" + }, + "fcvt_d_h": { + "encoding": "010000100010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d_zfh" + ], + "match": "0x42200053", + "mask": "0xfff0007f" + }, + "fcvt_h_d": { + "encoding": "010001000001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d_zfh" + ], + "match": "0x44100053", + "mask": "0xfff0007f" + }, + "fli_d": { + "encoding": "111100100001-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0xf2100053", + "mask": "0xfff0707f" + }, + "fminm_d": { + "encoding": "0010101----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0x2a002053", + "mask": "0xfe00707f" + }, + "fmaxm_d": { + "encoding": "0010101----------011-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0x2a003053", + "mask": "0xfe00707f" + }, + "fround_d": { + "encoding": "010000100100-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0x42400053", + "mask": "0xfff0007f" + }, + "froundnx_d": { + "encoding": "010000100101-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0x42500053", + "mask": "0xfff0007f" + }, + "fcvtmod_w_d": { + "encoding": "110000101000-----001-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0xc2801053", + "mask": "0xfff0707f" + }, + "fleq_d": { + "encoding": "1010001----------100-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0xa2004053", + "mask": "0xfe00707f" + }, + "fltq_d": { + "encoding": "1010001----------101-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d_zfa" + ], + "match": "0xa2005053", + "mask": "0xfe00707f" + }, + "fld": { + "encoding": "-----------------011-----0000111", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv_d" + ], + "match": "0x3007", + "mask": "0x707f" + }, + "fsd": { + "encoding": "-----------------011-----0100111", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv_d" + ], + "match": "0x3027", + "mask": "0x707f" + }, + "fmadd_d": { + "encoding": "-----01------------------1000011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x2000043", + "mask": "0x600007f" + }, + "fmsub_d": { + "encoding": "-----01------------------1000111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x2000047", + "mask": "0x600007f" + }, + "fnmsub_d": { + "encoding": "-----01------------------1001011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x200004b", + "mask": "0x600007f" + }, + "fnmadd_d": { + "encoding": "-----01------------------1001111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rs3", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x200004f", + "mask": "0x600007f" + }, + "fadd_d": { + "encoding": "0000001------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x2000053", + "mask": "0xfe00007f" + }, + "fsub_d": { + "encoding": "0000101------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0xa000053", + "mask": "0xfe00007f" + }, + "fmul_d": { + "encoding": "0001001------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x12000053", + "mask": "0xfe00007f" + }, + "fdiv_d": { + "encoding": "0001101------------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x1a000053", + "mask": "0xfe00007f" + }, + "fsqrt_d": { + "encoding": "010110100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x5a000053", + "mask": "0xfff0007f" + }, + "fsgnj_d": { + "encoding": "0010001----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0x22000053", + "mask": "0xfe00707f" + }, + "fsgnjn_d": { + "encoding": "0010001----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0x22001053", + "mask": "0xfe00707f" + }, + "fsgnjx_d": { + "encoding": "0010001----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0x22002053", + "mask": "0xfe00707f" + }, + "fmin_d": { + "encoding": "0010101----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0x2a000053", + "mask": "0xfe00707f" + }, + "fmax_d": { + "encoding": "0010101----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0x2a001053", + "mask": "0xfe00707f" + }, + "fcvt_s_d": { + "encoding": "010000000001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x40100053", + "mask": "0xfff0007f" + }, + "fcvt_d_s": { + "encoding": "010000100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0x42000053", + "mask": "0xfff0007f" + }, + "feq_d": { + "encoding": "1010001----------010-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0xa2002053", + "mask": "0xfe00707f" + }, + "flt_d": { + "encoding": "1010001----------001-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0xa2001053", + "mask": "0xfe00707f" + }, + "fle_d": { + "encoding": "1010001----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_d" + ], + "match": "0xa2000053", + "mask": "0xfe00707f" + }, + "fclass_d": { + "encoding": "111000100000-----001-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv_d" + ], + "match": "0xe2001053", + "mask": "0xfff0707f" + }, + "fcvt_w_d": { + "encoding": "110000100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0xc2000053", + "mask": "0xfff0007f" + }, + "fcvt_wu_d": { + "encoding": "110000100001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0xc2100053", + "mask": "0xfff0007f" + }, + "fcvt_d_w": { + "encoding": "110100100000-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0xd2000053", + "mask": "0xfff0007f" + }, + "fcvt_d_wu": { + "encoding": "110100100001-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv_d" + ], + "match": "0xd2100053", + "mask": "0xfff0007f" + }, + "c_fld": { + "encoding": "----------------001-----------00", + "variable_fields": [ + "rd_p", + "rs1_p", + "c_uimm8lo", + "c_uimm8hi" + ], + "extension": [ + "rv_c_d" + ], + "match": "0x2000", + "mask": "0xe003" + }, + "c_fsd": { + "encoding": "----------------101-----------00", + "variable_fields": [ + "rs1_p", + "rs2_p", + "c_uimm8lo", + "c_uimm8hi" + ], + "extension": [ + "rv_c_d" + ], + "match": "0xa000", + "mask": "0xe003" + }, + "c_fldsp": { + "encoding": "----------------001-----------10", + "variable_fields": [ + "rd", + "c_uimm9sphi", + "c_uimm9splo" + ], + "extension": [ + "rv_c_d" + ], + "match": "0x2002", + "mask": "0xe003" + }, + "c_fsdsp": { + "encoding": "----------------101-----------10", + "variable_fields": [ + "c_rs2", + "c_uimm9sp_s" + ], + "extension": [ + "rv_c_d" + ], + "match": "0xa002", + "mask": "0xe003" + }, + "c_addi4spn": { + "encoding": "----------------000-----------00", + "variable_fields": [ + "rd_p", + "c_nzuimm10" + ], + "extension": [ + "rv_c" + ], + "match": "0x0", + "mask": "0xe003" + }, + "c_lw": { + "encoding": "----------------010-----------00", + "variable_fields": [ + "rd_p", + "rs1_p", + "c_uimm7lo", + "c_uimm7hi" + ], + "extension": [ + "rv_c" + ], + "match": "0x4000", + "mask": "0xe003" + }, + "c_sw": { + "encoding": "----------------110-----------00", + "variable_fields": [ + "rs1_p", + "rs2_p", + "c_uimm7lo", + "c_uimm7hi" + ], + "extension": [ + "rv_c" + ], + "match": "0xc000", + "mask": "0xe003" + }, + "c_nop": { + "encoding": "----------------000-00000-----01", + "variable_fields": [ + "c_nzimm6hi", + "c_nzimm6lo" + ], + "extension": [ + "rv_c" + ], + "match": "0x1", + "mask": "0xef83" + }, + "c_addi": { + "encoding": "----------------000-----------01", + "variable_fields": [ + "rd_rs1_n0", + "c_nzimm6lo", + "c_nzimm6hi" + ], + "extension": [ + "rv_c" + ], + "match": "0x1", + "mask": "0xe003" + }, + "c_li": { + "encoding": "----------------010-----------01", + "variable_fields": [ + "rd_n0", + "c_imm6lo", + "c_imm6hi" + ], + "extension": [ + "rv_c" + ], + "match": "0x4001", + "mask": "0xe003" + }, + "c_addi16sp": { + "encoding": "----------------011-00010-----01", + "variable_fields": [ + "c_nzimm10hi", + "c_nzimm10lo" + ], + "extension": [ + "rv_c" + ], + "match": "0x6101", + "mask": "0xef83" + }, + "c_lui": { + "encoding": "----------------011-----------01", + "variable_fields": [ + "rd_n2", + "c_nzimm18hi", + "c_nzimm18lo" + ], + "extension": [ + "rv_c" + ], + "match": "0x6001", + "mask": "0xe003" + }, + "c_andi": { + "encoding": "----------------100-10--------01", + "variable_fields": [ + "rd_rs1_p", + "c_imm6hi", + "c_imm6lo" + ], + "extension": [ + "rv_c" + ], + "match": "0x8801", + "mask": "0xec03" + }, + "c_sub": { + "encoding": "----------------100011---00---01", + "variable_fields": [ + "rd_rs1_p", + "rs2_p" + ], + "extension": [ + "rv_c" + ], + "match": "0x8c01", + "mask": "0xfc63" + }, + "c_xor": { + "encoding": "----------------100011---01---01", + "variable_fields": [ + "rd_rs1_p", + "rs2_p" + ], + "extension": [ + "rv_c" + ], + "match": "0x8c21", + "mask": "0xfc63" + }, + "c_or": { + "encoding": "----------------100011---10---01", + "variable_fields": [ + "rd_rs1_p", + "rs2_p" + ], + "extension": [ + "rv_c" + ], + "match": "0x8c41", + "mask": "0xfc63" + }, + "c_and": { + "encoding": "----------------100011---11---01", + "variable_fields": [ + "rd_rs1_p", + "rs2_p" + ], + "extension": [ + "rv_c" + ], + "match": "0x8c61", + "mask": "0xfc63" + }, + "c_j": { + "encoding": "----------------101-----------01", + "variable_fields": [ + "c_imm12" + ], + "extension": [ + "rv_c" + ], + "match": "0xa001", + "mask": "0xe003" + }, + "c_beqz": { + "encoding": "----------------110-----------01", + "variable_fields": [ + "rs1_p", + "c_bimm9lo", + "c_bimm9hi" + ], + "extension": [ + "rv_c" + ], + "match": "0xc001", + "mask": "0xe003" + }, + "c_bnez": { + "encoding": "----------------111-----------01", + "variable_fields": [ + "rs1_p", + "c_bimm9lo", + "c_bimm9hi" + ], + "extension": [ + "rv_c" + ], + "match": "0xe001", + "mask": "0xe003" + }, + "c_lwsp": { + "encoding": "----------------010-----------10", + "variable_fields": [ + "rd_n0", + "c_uimm8sphi", + "c_uimm8splo" + ], + "extension": [ + "rv_c" + ], + "match": "0x4002", + "mask": "0xe003" + }, + "c_jr": { + "encoding": "----------------1000-----0000010", + "variable_fields": [ + "rs1_n0" + ], + "extension": [ + "rv_c" + ], + "match": "0x8002", + "mask": "0xf07f" + }, + "c_mv": { + "encoding": "----------------1000----------10", + "variable_fields": [ + "rd_n0", + "c_rs2_n0" + ], + "extension": [ + "rv_c" + ], + "match": "0x8002", + "mask": "0xf003" + }, + "c_ebreak": { + "encoding": "----------------1001000000000010", + "variable_fields": [], + "extension": [ + "rv_c" + ], + "match": "0x9002", + "mask": "0xffff" + }, + "c_jalr": { + "encoding": "----------------1001-----0000010", + "variable_fields": [ + "c_rs1_n0" + ], + "extension": [ + "rv_c" + ], + "match": "0x9002", + "mask": "0xf07f" + }, + "c_add": { + "encoding": "----------------1001----------10", + "variable_fields": [ + "rd_rs1_n0", + "c_rs2_n0" + ], + "extension": [ + "rv_c" + ], + "match": "0x9002", + "mask": "0xf003" + }, + "c_swsp": { + "encoding": "----------------110-----------10", + "variable_fields": [ + "c_rs2", + "c_uimm8sp_s" + ], + "extension": [ + "rv_c" + ], + "match": "0xc002", + "mask": "0xe003" + }, + "lr_w": { + "encoding": "00010--00000-----010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x1000202f", + "mask": "0xf9f0707f" + }, + "sc_w": { + "encoding": "00011------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x1800202f", + "mask": "0xf800707f" + }, + "amoswap_w": { + "encoding": "00001------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x800202f", + "mask": "0xf800707f" + }, + "amoadd_w": { + "encoding": "00000------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x202f", + "mask": "0xf800707f" + }, + "amoxor_w": { + "encoding": "00100------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x2000202f", + "mask": "0xf800707f" + }, + "amoand_w": { + "encoding": "01100------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x6000202f", + "mask": "0xf800707f" + }, + "amoor_w": { + "encoding": "01000------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x4000202f", + "mask": "0xf800707f" + }, + "amomin_w": { + "encoding": "10000------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0x8000202f", + "mask": "0xf800707f" + }, + "amomax_w": { + "encoding": "10100------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0xa000202f", + "mask": "0xf800707f" + }, + "amominu_w": { + "encoding": "11000------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0xc000202f", + "mask": "0xf800707f" + }, + "amomaxu_w": { + "encoding": "11100------------010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv_a" + ], + "match": "0xe000202f", + "mask": "0xf800707f" + }, + "sha512sum0": { + "encoding": "000100000100-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zknh", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x10401013", + "mask": "0xfff0707f" + }, + "sha512sum1": { + "encoding": "000100000101-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zknh", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x10501013", + "mask": "0xfff0707f" + }, + "sha512sig0": { + "encoding": "000100000110-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zknh", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x10601013", + "mask": "0xfff0707f" + }, + "sha512sig1": { + "encoding": "000100000111-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zknh", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x10701013", + "mask": "0xfff0707f" + }, + "aes64esm": { + "encoding": "0011011----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zkne", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x36000033", + "mask": "0xfe00707f" + }, + "aes64es": { + "encoding": "0011001----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zkne", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x32000033", + "mask": "0xfe00707f" + }, + "aes64dsm": { + "encoding": "0011111----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zknd", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x3e000033", + "mask": "0xfe00707f" + }, + "aes64ds": { + "encoding": "0011101----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zknd", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x3a000033", + "mask": "0xfe00707f" + }, + "aes64ks1i": { + "encoding": "00110001---------001-----0010011", + "variable_fields": [ + "rd", + "rs1", + "rnum" + ], + "extension": [ + "rv64_zknd", + "rv64_zkne", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x31001013", + "mask": "0xff00707f" + }, + "aes64im": { + "encoding": "001100000000-----001-----0010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zknd", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x30001013", + "mask": "0xfff0707f" + }, + "aes64ks2": { + "encoding": "0111111----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zknd", + "rv64_zkne", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x7e000033", + "mask": "0xfe00707f" + }, + "fcvt_l_h": { + "encoding": "110001000010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_zfh" + ], + "match": "0xc4200053", + "mask": "0xfff0007f" + }, + "fcvt_lu_h": { + "encoding": "110001000011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_zfh" + ], + "match": "0xc4300053", + "mask": "0xfff0007f" + }, + "fcvt_h_l": { + "encoding": "110101000010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_zfh" + ], + "match": "0xd4200053", + "mask": "0xfff0007f" + }, + "fcvt_h_lu": { + "encoding": "110101000011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_zfh" + ], + "match": "0xd4300053", + "mask": "0xfff0007f" + }, + "c_zext_w": { + "encoding": "----------------100111---1110001", + "variable_fields": [ + "rd_rs1_p" + ], + "extension": [ + "rv64_zcb" + ], + "match": "0x9c71", + "mask": "0xfc7f" + }, + "bclri": { + "encoding": "010010-----------001-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zbs" + ], + "match": "0x48001013", + "mask": "0xfc00707f" + }, + "bexti": { + "encoding": "010010-----------101-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zbs" + ], + "match": "0x48005013", + "mask": "0xfc00707f" + }, + "binvi": { + "encoding": "011010-----------001-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zbs" + ], + "match": "0x68001013", + "mask": "0xfc00707f" + }, + "bseti": { + "encoding": "001010-----------001-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zbs" + ], + "match": "0x28001013", + "mask": "0xfc00707f" + }, + "packw": { + "encoding": "0000100----------100-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zbkb", + "rv64_zks", + "rv64_zkn", + "rv64_zk" + ], + "match": "0x800403b", + "mask": "0xfe00707f" + }, + "clzw": { + "encoding": "011000000000-----001-----0011011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zbb" + ], + "match": "0x6000101b", + "mask": "0xfff0707f" + }, + "ctzw": { + "encoding": "011000000001-----001-----0011011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zbb" + ], + "match": "0x6010101b", + "mask": "0xfff0707f" + }, + "cpopw": { + "encoding": "011000000010-----001-----0011011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_zbb" + ], + "match": "0x6020101b", + "mask": "0xfff0707f" + }, + "rolw": { + "encoding": "0110000----------001-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zbb", + "rv64_zks", + "rv64_zkn", + "rv64_zk", + "rv64_zbkb" + ], + "match": "0x6000103b", + "mask": "0xfe00707f" + }, + "rorw": { + "encoding": "0110000----------101-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zbb", + "rv64_zks", + "rv64_zkn", + "rv64_zk", + "rv64_zbkb" + ], + "match": "0x6000503b", + "mask": "0xfe00707f" + }, + "roriw": { + "encoding": "0110000----------101-----0011011", + "variable_fields": [ + "rd", + "rs1", + "shamtw" + ], + "extension": [ + "rv64_zbb", + "rv64_zks", + "rv64_zkn", + "rv64_zk", + "rv64_zbkb" + ], + "match": "0x6000501b", + "mask": "0xfe00707f" + }, + "rori": { + "encoding": "011000-----------101-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zbb", + "rv64_zks", + "rv64_zkn", + "rv64_zk", + "rv64_zbkb" + ], + "match": "0x60005013", + "mask": "0xfc00707f" + }, + "add_uw": { + "encoding": "0000100----------000-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zba" + ], + "match": "0x800003b", + "mask": "0xfe00707f" + }, + "sh1add_uw": { + "encoding": "0010000----------010-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zba" + ], + "match": "0x2000203b", + "mask": "0xfe00707f" + }, + "sh2add_uw": { + "encoding": "0010000----------100-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zba" + ], + "match": "0x2000403b", + "mask": "0xfe00707f" + }, + "sh3add_uw": { + "encoding": "0010000----------110-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zba" + ], + "match": "0x2000603b", + "mask": "0xfe00707f" + }, + "slli_uw": { + "encoding": "000010-----------001-----0011011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zba" + ], + "match": "0x800101b", + "mask": "0xfc00707f" + }, + "amocas_q": { + "encoding": "00101------------100-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_zacas" + ], + "match": "0x2800402f", + "mask": "0xf800707f" + }, + "fmvh_x_q": { + "encoding": "111001100001-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_q_zfa" + ], + "match": "0xe6100053", + "mask": "0xfff0707f" + }, + "fmvp_q_x": { + "encoding": "1011011----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_q_zfa" + ], + "match": "0xb6000053", + "mask": "0xfe00707f" + }, + "fcvt_l_q": { + "encoding": "110001100010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_q" + ], + "match": "0xc6200053", + "mask": "0xfff0007f" + }, + "fcvt_lu_q": { + "encoding": "110001100011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_q" + ], + "match": "0xc6300053", + "mask": "0xfff0007f" + }, + "fcvt_q_l": { + "encoding": "110101100010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_q" + ], + "match": "0xd6200053", + "mask": "0xfff0007f" + }, + "fcvt_q_lu": { + "encoding": "110101100011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_q" + ], + "match": "0xd6300053", + "mask": "0xfff0007f" + }, + "mulw": { + "encoding": "0000001----------000-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_m" + ], + "match": "0x200003b", + "mask": "0xfe00707f" + }, + "divw": { + "encoding": "0000001----------100-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_m" + ], + "match": "0x200403b", + "mask": "0xfe00707f" + }, + "divuw": { + "encoding": "0000001----------101-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_m" + ], + "match": "0x200503b", + "mask": "0xfe00707f" + }, + "remw": { + "encoding": "0000001----------110-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_m" + ], + "match": "0x200603b", + "mask": "0xfe00707f" + }, + "remuw": { + "encoding": "0000001----------111-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_m" + ], + "match": "0x200703b", + "mask": "0xfe00707f" + }, + "lwu": { + "encoding": "-----------------110-----0000011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv64_i" + ], + "match": "0x6003", + "mask": "0x707f" + }, + "ld": { + "encoding": "-----------------011-----0000011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv64_i" + ], + "match": "0x3003", + "mask": "0x707f" + }, + "sd": { + "encoding": "-----------------011-----0100011", + "variable_fields": [ + "imm12hi", + "rs1", + "rs2", + "imm12lo" + ], + "extension": [ + "rv64_i" + ], + "match": "0x3023", + "mask": "0x707f" + }, + "slli": { + "encoding": "000000-----------001-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_i" + ], + "match": "0x1013", + "mask": "0xfc00707f" + }, + "srli": { + "encoding": "000000-----------101-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_i" + ], + "match": "0x5013", + "mask": "0xfc00707f" + }, + "srai": { + "encoding": "010000-----------101-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_i" + ], + "match": "0x40005013", + "mask": "0xfc00707f" + }, + "addiw": { + "encoding": "-----------------000-----0011011", + "variable_fields": [ + "rd", + "rs1", + "imm12" + ], + "extension": [ + "rv64_i" + ], + "match": "0x1b", + "mask": "0x707f" + }, + "slliw": { + "encoding": "0000000----------001-----0011011", + "variable_fields": [ + "rd", + "rs1", + "shamtw" + ], + "extension": [ + "rv64_i" + ], + "match": "0x101b", + "mask": "0xfe00707f" + }, + "srliw": { + "encoding": "0000000----------101-----0011011", + "variable_fields": [ + "rd", + "rs1", + "shamtw" + ], + "extension": [ + "rv64_i" + ], + "match": "0x501b", + "mask": "0xfe00707f" + }, + "sraiw": { + "encoding": "0100000----------101-----0011011", + "variable_fields": [ + "rd", + "rs1", + "shamtw" + ], + "extension": [ + "rv64_i" + ], + "match": "0x4000501b", + "mask": "0xfe00707f" + }, + "addw": { + "encoding": "0000000----------000-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_i" + ], + "match": "0x3b", + "mask": "0xfe00707f" + }, + "subw": { + "encoding": "0100000----------000-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_i" + ], + "match": "0x4000003b", + "mask": "0xfe00707f" + }, + "sllw": { + "encoding": "0000000----------001-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_i" + ], + "match": "0x103b", + "mask": "0xfe00707f" + }, + "srlw": { + "encoding": "0000000----------101-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_i" + ], + "match": "0x503b", + "mask": "0xfe00707f" + }, + "sraw": { + "encoding": "0100000----------101-----0111011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_i" + ], + "match": "0x4000503b", + "mask": "0xfe00707f" + }, + "hlv_wu": { + "encoding": "011010000001-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_h" + ], + "match": "0x68104073", + "mask": "0xfff0707f" + }, + "hlv_d": { + "encoding": "011011000000-----100-----1110011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_h" + ], + "match": "0x6c004073", + "mask": "0xfff0707f" + }, + "hsv_d": { + "encoding": "0110111----------100000001110011", + "variable_fields": [ + "rs1", + "rs2" + ], + "extension": [ + "rv64_h" + ], + "match": "0x6e004073", + "mask": "0xfe007fff" + }, + "fcvt_l_s": { + "encoding": "110000000010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_f" + ], + "match": "0xc0200053", + "mask": "0xfff0007f" + }, + "fcvt_lu_s": { + "encoding": "110000000011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_f" + ], + "match": "0xc0300053", + "mask": "0xfff0007f" + }, + "fcvt_s_l": { + "encoding": "110100000010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_f" + ], + "match": "0xd0200053", + "mask": "0xfff0007f" + }, + "fcvt_s_lu": { + "encoding": "110100000011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_f" + ], + "match": "0xd0300053", + "mask": "0xfff0007f" + }, + "fcvt_l_d": { + "encoding": "110000100010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_d" + ], + "match": "0xc2200053", + "mask": "0xfff0007f" + }, + "fcvt_lu_d": { + "encoding": "110000100011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_d" + ], + "match": "0xc2300053", + "mask": "0xfff0007f" + }, + "fmv_x_d": { + "encoding": "111000100000-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_d" + ], + "match": "0xe2000053", + "mask": "0xfff0707f" + }, + "fcvt_d_l": { + "encoding": "110100100010-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_d" + ], + "match": "0xd2200053", + "mask": "0xfff0007f" + }, + "fcvt_d_lu": { + "encoding": "110100100011-------------1010011", + "variable_fields": [ + "rd", + "rs1", + "rm" + ], + "extension": [ + "rv64_d" + ], + "match": "0xd2300053", + "mask": "0xfff0007f" + }, + "fmv_d_x": { + "encoding": "111100100000-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv64_d" + ], + "match": "0xf2000053", + "mask": "0xfff0707f" + }, + "c_ld": { + "encoding": "----------------011-----------00", + "variable_fields": [ + "rd_p", + "rs1_p", + "c_uimm8lo", + "c_uimm8hi" + ], + "extension": [ + "rv64_c" + ], + "match": "0x6000", + "mask": "0xe003" + }, + "c_sd": { + "encoding": "----------------111-----------00", + "variable_fields": [ + "rs1_p", + "rs2_p", + "c_uimm8hi", + "c_uimm8lo" + ], + "extension": [ + "rv64_c" + ], + "match": "0xe000", + "mask": "0xe003" + }, + "c_addiw": { + "encoding": "----------------001-----------01", + "variable_fields": [ + "rd_rs1_n0", + "c_imm6lo", + "c_imm6hi" + ], + "extension": [ + "rv64_c" + ], + "match": "0x2001", + "mask": "0xe003" + }, + "c_srli": { + "encoding": "----------------100-00--------01", + "variable_fields": [ + "rd_rs1_p", + "c_nzuimm6lo", + "c_nzuimm6hi" + ], + "extension": [ + "rv64_c" + ], + "match": "0x8001", + "mask": "0xec03" + }, + "c_srai": { + "encoding": "----------------100-01--------01", + "variable_fields": [ + "rd_rs1_p", + "c_nzuimm6lo", + "c_nzuimm6hi" + ], + "extension": [ + "rv64_c" + ], + "match": "0x8401", + "mask": "0xec03" + }, + "c_subw": { + "encoding": "----------------100111---00---01", + "variable_fields": [ + "rd_rs1_p", + "rs2_p" + ], + "extension": [ + "rv64_c" + ], + "match": "0x9c01", + "mask": "0xfc63" + }, + "c_addw": { + "encoding": "----------------100111---01---01", + "variable_fields": [ + "rd_rs1_p", + "rs2_p" + ], + "extension": [ + "rv64_c" + ], + "match": "0x9c21", + "mask": "0xfc63" + }, + "c_slli": { + "encoding": "----------------000-----------10", + "variable_fields": [ + "rd_rs1_n0", + "c_nzuimm6hi", + "c_nzuimm6lo" + ], + "extension": [ + "rv64_c" + ], + "match": "0x2", + "mask": "0xe003" + }, + "c_ldsp": { + "encoding": "----------------011-----------10", + "variable_fields": [ + "rd_n0", + "c_uimm9sphi", + "c_uimm9splo" + ], + "extension": [ + "rv64_c" + ], + "match": "0x6002", + "mask": "0xe003" + }, + "c_sdsp": { + "encoding": "----------------111-----------10", + "variable_fields": [ + "c_rs2", + "c_uimm9sp_s" + ], + "extension": [ + "rv64_c" + ], + "match": "0xe002", + "mask": "0xe003" + }, + "lr_d": { + "encoding": "00010--00000-----011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x1000302f", + "mask": "0xf9f0707f" + }, + "sc_d": { + "encoding": "00011------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x1800302f", + "mask": "0xf800707f" + }, + "amoswap_d": { + "encoding": "00001------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x800302f", + "mask": "0xf800707f" + }, + "amoadd_d": { + "encoding": "00000------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x302f", + "mask": "0xf800707f" + }, + "amoxor_d": { + "encoding": "00100------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x2000302f", + "mask": "0xf800707f" + }, + "amoand_d": { + "encoding": "01100------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x6000302f", + "mask": "0xf800707f" + }, + "amoor_d": { + "encoding": "01000------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x4000302f", + "mask": "0xf800707f" + }, + "amomin_d": { + "encoding": "10000------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0x8000302f", + "mask": "0xf800707f" + }, + "amomax_d": { + "encoding": "10100------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0xa000302f", + "mask": "0xf800707f" + }, + "amominu_d": { + "encoding": "11000------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0xc000302f", + "mask": "0xf800707f" + }, + "amomaxu_d": { + "encoding": "11100------------011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "aq", + "rl" + ], + "extension": [ + "rv64_a" + ], + "match": "0xe000302f", + "mask": "0xf800707f" + }, + "sha512sum0r": { + "encoding": "0101000----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv32_zknh", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x50000033", + "mask": "0xfe00707f" + }, + "sha512sum1r": { + "encoding": "0101001----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv32_zknh", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x52000033", + "mask": "0xfe00707f" + }, + "sha512sig0l": { + "encoding": "0101010----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv32_zknh", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x54000033", + "mask": "0xfe00707f" + }, + "sha512sig0h": { + "encoding": "0101110----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv32_zknh", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x5c000033", + "mask": "0xfe00707f" + }, + "sha512sig1l": { + "encoding": "0101011----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv32_zknh", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x56000033", + "mask": "0xfe00707f" + }, + "sha512sig1h": { + "encoding": "0101111----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv32_zknh", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x5e000033", + "mask": "0xfe00707f" + }, + "aes32esmi": { + "encoding": "--10011----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "bs" + ], + "extension": [ + "rv32_zkne", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x26000033", + "mask": "0x3e00707f" + }, + "aes32esi": { + "encoding": "--10001----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "bs" + ], + "extension": [ + "rv32_zkne", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x22000033", + "mask": "0x3e00707f" + }, + "aes32dsmi": { + "encoding": "--10111----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "bs" + ], + "extension": [ + "rv32_zknd", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x2e000033", + "mask": "0x3e00707f" + }, + "aes32dsi": { + "encoding": "--10101----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2", + "bs" + ], + "extension": [ + "rv32_zknd", + "rv32_zkn", + "rv32_zk" + ], + "match": "0x2a000033", + "mask": "0x3e00707f" + }, + "fmvh_x_d": { + "encoding": "111000100001-----000-----1010011", + "variable_fields": [ + "rd", + "rs1" + ], + "extension": [ + "rv32_d_zfa" + ], + "match": "0xe2100053", + "mask": "0xfff0707f" + }, + "fmvp_d_x": { + "encoding": "1011001----------000-----1010011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv32_d_zfa" + ], + "match": "0xb2000053", + "mask": "0xfe00707f" + }, + "c_flw": { + "encoding": "----------------011-----------00", + "variable_fields": [ + "rd_p", + "rs1_p", + "c_uimm7lo", + "c_uimm7hi" + ], + "extension": [ + "rv32_c_f" + ], + "match": "0x6000", + "mask": "0xe003" + }, + "c_fsw": { + "encoding": "----------------111-----------00", + "variable_fields": [ + "rs1_p", + "rs2_p", + "c_uimm7lo", + "c_uimm7hi" + ], + "extension": [ + "rv32_c_f" + ], + "match": "0xe000", + "mask": "0xe003" + }, + "c_flwsp": { + "encoding": "----------------011-----------10", + "variable_fields": [ + "rd", + "c_uimm8sphi", + "c_uimm8splo" + ], + "extension": [ + "rv32_c_f" + ], + "match": "0x6002", + "mask": "0xe003" + }, + "c_fswsp": { + "encoding": "----------------111-----------10", + "variable_fields": [ + "c_rs2", + "c_uimm8sp_s" + ], + "extension": [ + "rv32_c_f" + ], + "match": "0xe002", + "mask": "0xe003" + }, + "c_jal": { + "encoding": "----------------001-----------01", + "variable_fields": [ + "c_imm12" + ], + "extension": [ + "rv32_c" + ], + "match": "0x2001", + "mask": "0xe003" + }, + "xperm16": { + "encoding": "0010100----------110-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv_zbp" + ], + "match": "0x28006033", + "mask": "0xfe00707f" + }, + "lb_aq": { + "encoding": "001101-00000-----000-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rl" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3400002f", + "mask": "0xfdf0707f" + }, + "lh_aq": { + "encoding": "001101-00000-----001-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rl" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3400102f", + "mask": "0xfdf0707f" + }, + "lw_aq": { + "encoding": "001101-00000-----010-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rl" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3400202f", + "mask": "0xfdf0707f" + }, + "ld_aq": { + "encoding": "001101-00000-----011-----0101111", + "variable_fields": [ + "rd", + "rs1", + "rl" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3400302f", + "mask": "0xfdf0707f" + }, + "sb_rl": { + "encoding": "00111-1----------000000000101111", + "variable_fields": [ + "rs1", + "rs2", + "aq" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3a00002f", + "mask": "0xfa007fff" + }, + "sh_rl": { + "encoding": "00111-1----------001000000101111", + "variable_fields": [ + "rs1", + "rs2", + "aq" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3a00102f", + "mask": "0xfa007fff" + }, + "sw_rl": { + "encoding": "00111-1----------010000000101111", + "variable_fields": [ + "rs1", + "rs2", + "aq" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3a00202f", + "mask": "0xfa007fff" + }, + "sd_rl": { + "encoding": "00111-1----------011000000101111", + "variable_fields": [ + "rs1", + "rs2", + "aq" + ], + "extension": [ + "rv_zalasr" + ], + "match": "0x3a00302f", + "mask": "0xfa007fff" + }, + "grevi": { + "encoding": "011010-----------101-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zbp" + ], + "match": "0x68005013", + "mask": "0xfc00707f" + }, + "gorci": { + "encoding": "001010-----------101-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtd" + ], + "extension": [ + "rv64_zbp" + ], + "match": "0x28005013", + "mask": "0xfc00707f" + }, + "shfli": { + "encoding": "0000100----------001-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtw" + ], + "extension": [ + "rv64_zbp" + ], + "match": "0x8001013", + "mask": "0xfe00707f" + }, + "unshfli": { + "encoding": "0000100----------101-----0010011", + "variable_fields": [ + "rd", + "rs1", + "shamtw" + ], + "extension": [ + "rv64_zbp" + ], + "match": "0x8005013", + "mask": "0xfe00707f" + }, + "xperm32": { + "encoding": "0010100----------000-----0110011", + "variable_fields": [ + "rd", + "rs1", + "rs2" + ], + "extension": [ + "rv64_zbp" + ], + "match": "0x28000033", + "mask": "0xfe00707f" + } +} \ No newline at end of file diff --git a/opcodes_maker/sorter.py b/opcodes_maker/sorter.py new file mode 100644 index 000000000..f5da4993d --- /dev/null +++ b/opcodes_maker/sorter.py @@ -0,0 +1,28 @@ +import json + +def sort_instr_json(dir_name, outname): + with open(dir_name, 'r') as file: + data = json.load(file) + + sorted_data = {} + for key in sorted(data): + entry = data[key] + if "variable_fields" in entry: + entry["variable_fields"] = sorted(entry["variable_fields"]) + if "extension" in entry: + entry["extension"] = sorted(entry["extension"]) + + # Add the processed entry to the sorted data + sorted_data[key] = entry + + with open(outname, 'w') as file: + json.dump(sorted_data, file, indent=4) + + print(json.dumps(sorted_data, indent=4)) + +def main(): + sort_instr_json("data.json", "udb_sorted_data.json") + sort_instr_json("instr_dict.json", "opcodes_sorted_data.json") + + +main() From 4bfc6b60479f183aefb2fc7a9241e6ee1fe16e9f Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Thu, 30 Jan 2025 13:07:00 +0000 Subject: [PATCH 02/13] Integrate Brian branch with UDB in ext/ folder. Merge the output of the UDB with riscv-opcodes generation process to generate riscv-opcodes outputs. Signed-off-by: Afonso Oliveira --- ext/opcodes_maker/Makefile | 61 ++++++++++ ext/opcodes_maker/generator.py | 186 ++++++++++++++++++++++++++++++ ext/opcodes_maker/sorter.py | 30 +++++ ext/opcodes_maker/yaml_to_json.py | 178 ++++++++++++++++++++++++++++ 4 files changed, 455 insertions(+) create mode 100644 ext/opcodes_maker/Makefile create mode 100644 ext/opcodes_maker/generator.py create mode 100644 ext/opcodes_maker/sorter.py create mode 100644 ext/opcodes_maker/yaml_to_json.py diff --git a/ext/opcodes_maker/Makefile b/ext/opcodes_maker/Makefile new file mode 100644 index 000000000..205e43f3e --- /dev/null +++ b/ext/opcodes_maker/Makefile @@ -0,0 +1,61 @@ +# Directories +YAML_DIR ?= ../../arch/inst +OPCODES_DIR := ../riscv-opcodes +OUTPUT_DIR := output + +# Python scripts +YAML_TO_JSON := yaml_to_json.py +GENERATOR := generator.py + +# Output files +INSTR_DICT := $(OUTPUT_DIR)/instr_dict.json + +# Generated output files +C_OUT := $(OUTPUT_DIR)/encoding.out.h +CHISEL_OUT := $(OUTPUT_DIR)/inst.chisel +SPINALHDL_OUT := $(OUTPUT_DIR)/inst.spinalhdl +SVERILOG_OUT := $(OUTPUT_DIR)/inst.sverilog +RUST_OUT := $(OUTPUT_DIR)/inst.rs +GO_OUT := $(OUTPUT_DIR)/inst.go +LATEX_OUT := $(OUTPUT_DIR)/instr-table.tex +LATEX_PRIV_OUT := $(OUTPUT_DIR)/priv-instr-table.tex +PROCESSED_DICT := $(OUTPUT_DIR)/processed_instr_dict.json + +# Check for required files +REQUIRED_FILES := $(YAML_TO_JSON) $(GENERATOR) +$(foreach file,$(REQUIRED_FILES),\ + $(if $(wildcard $(file)),,$(error Required file $(file) not found))) + +# Default target +all: generate + +# Create output directory +$(OUTPUT_DIR): + mkdir -p $(OUTPUT_DIR) + +# Convert YAML to JSON +$(INSTR_DICT): $(YAML_TO_JSON) | $(OUTPUT_DIR) + python3 $(YAML_TO_JSON) $(YAML_DIR) $(OUTPUT_DIR) + +# Generate all outputs +generate: $(INSTR_DICT) + python3 $(GENERATOR) $(INSTR_DICT) -c -chisel -rust -go -latex + mv encoding.out.h inst.chisel inst.spinalhdl inst.sverilog inst.rs inst.go \ + instr-table.tex priv-instr-table.tex processed_instr_dict.json \ + $(OUTPUT_DIR)/ 2>/dev/null || true + +# Clean generated files +clean: + rm -rf $(OUTPUT_DIR) + +# Help target +help: + @echo "Available targets:" + @echo " all (default) - Run complete pipeline: YAML -> JSON -> generate" + @echo " generate - Generate all output formats from JSON" + @echo " clean - Remove all generated files" + @echo "" + @echo "All output files will be placed in the '$(OUTPUT_DIR)' directory" + @echo "Use YAML_DIR=/path/to/yaml to specify custom YAML input directory" + +.PHONY: all generate clean help diff --git a/ext/opcodes_maker/generator.py b/ext/opcodes_maker/generator.py new file mode 100644 index 000000000..48c3bd210 --- /dev/null +++ b/ext/opcodes_maker/generator.py @@ -0,0 +1,186 @@ +#!/usr/bin/env python3 + +import argparse +import json +import logging +import pprint +import os +import sys +import shutil +from contextlib import contextmanager +from pathlib import Path +from typing import Dict, List, Any + +# Add riscv-opcodes directory to Python path +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +RISCV_OPCODES_DIR = os.path.join(SCRIPT_DIR, "..", "riscv-opcodes") +sys.path.insert(0, RISCV_OPCODES_DIR) + + +@contextmanager +def working_directory(path): + """Context manager for changing the current working directory""" + prev_cwd = os.getcwd() + os.chdir(path) + try: + yield prev_cwd + finally: + os.chdir(prev_cwd) + + +# Change to riscv-opcodes directory when importing to ensure relative paths work +with working_directory(RISCV_OPCODES_DIR): + from c_utils import make_c + from chisel_utils import make_chisel + from constants import emitted_pseudo_ops + from go_utils import make_go + from latex_utils import make_latex_table, make_priv_latex_table + from rust_utils import make_rust + from sverilog_utils import make_sverilog + +LOG_FORMAT = "%(levelname)s:: %(message)s" +LOG_LEVEL = logging.INFO + +pretty_printer = pprint.PrettyPrinter(indent=2) +logging.basicConfig(level=LOG_LEVEL, format=LOG_FORMAT) + + +def load_instruction_dict(json_path: str) -> Dict[str, Any]: + """ + Load instruction dictionary from a JSON file. + """ + try: + with open(json_path, encoding="utf-8") as f: + return json.load(f) + except FileNotFoundError: + logging.error(f"Input JSON file not found: {json_path}") + raise + except json.JSONDecodeError: + logging.error(f"Invalid JSON format in file: {json_path}") + raise + + +def move_file(src: str, dest_dir: str): + """ + Move a file to the destination directory if it exists. + """ + if os.path.exists(src): + dest = os.path.join(dest_dir, os.path.basename(src)) + shutil.move(src, dest) + + +def generate_outputs( + instr_dict: Dict[str, Any], + include_pseudo: bool, + c: bool, + chisel: bool, + spinalhdl: bool, + sverilog: bool, + rust: bool, + go: bool, + latex: bool, +): + """ + Generate output files based on the instruction dictionary. + """ + # Sort the dictionary for consistent output + instr_dict = dict(sorted(instr_dict.items())) + + # Save the processed dictionary in current directory + with open("processed_instr_dict.json", "w", encoding="utf-8") as outfile: + json.dump(instr_dict, outfile, indent=2) + + # Generate files in riscv-opcodes directory and move them to current directory + with working_directory(RISCV_OPCODES_DIR) as orig_dir: + if c: + # For C output, filter pseudo-ops if needed + if not include_pseudo: + c_dict = { + k: v for k, v in instr_dict.items() if k not in emitted_pseudo_ops + } + else: + c_dict = instr_dict + make_c(c_dict) + move_file("encoding.out.h", orig_dir) + logging.info("encoding.out.h generated successfully") + + if chisel: + make_chisel(instr_dict) + move_file("inst.chisel", orig_dir) + logging.info("inst.chisel generated successfully") + + if spinalhdl: + make_chisel(instr_dict, True) + move_file("inst.spinalhdl", orig_dir) + logging.info("inst.spinalhdl generated successfully") + + if sverilog: + make_sverilog(instr_dict) + move_file("inst.sverilog", orig_dir) + logging.info("inst.sverilog generated successfully") + + if rust: + make_rust(instr_dict) + move_file("inst.rs", orig_dir) + logging.info("inst.rs generated successfully") + + if go: + make_go(instr_dict) + move_file("inst.go", orig_dir) + logging.info("inst.go generated successfully") + + if latex: + make_latex_table() + make_priv_latex_table() + move_file("instr-table.tex", orig_dir) + move_file("priv-instr-table.tex", orig_dir) + logging.info("LaTeX files generated successfully") + + +def main(): + parser = argparse.ArgumentParser( + description="Generate RISC-V constants from JSON input" + ) + parser.add_argument( + "input_json", help="Path to JSON file containing instruction definitions" + ) + parser.add_argument( + "-pseudo", action="store_true", help="Include pseudo-instructions" + ) + parser.add_argument("-c", action="store_true", help="Generate output for C") + parser.add_argument( + "-chisel", action="store_true", help="Generate output for Chisel" + ) + parser.add_argument( + "-spinalhdl", action="store_true", help="Generate output for SpinalHDL" + ) + parser.add_argument( + "-sverilog", action="store_true", help="Generate output for SystemVerilog" + ) + parser.add_argument("-rust", action="store_true", help="Generate output for Rust") + parser.add_argument("-go", action="store_true", help="Generate output for Go") + parser.add_argument("-latex", action="store_true", help="Generate output for Latex") + + args = parser.parse_args() + + # Load instruction dictionary from JSON + instr_dict = load_instruction_dict(args.input_json) + + print(f"Loaded instruction dictionary from: {args.input_json}") + + # Generate outputs based on the loaded dictionary + generate_outputs( + instr_dict, + args.pseudo, + args.c, + args.chisel, + args.spinalhdl, + args.sverilog, + args.rust, + args.go, + args.latex, + ) + + +if __name__ == "__main__": + main() diff --git a/ext/opcodes_maker/sorter.py b/ext/opcodes_maker/sorter.py new file mode 100644 index 000000000..b2b07deac --- /dev/null +++ b/ext/opcodes_maker/sorter.py @@ -0,0 +1,30 @@ +import json + + +def sort_instr_json(dir_name, outname): + with open(dir_name) as file: + data = json.load(file) + + sorted_data = {} + for key in sorted(data): + entry = data[key] + if "variable_fields" in entry: + entry["variable_fields"] = sorted(entry["variable_fields"]) + if "extension" in entry: + entry["extension"] = sorted(entry["extension"]) + + # Add the processed entry to the sorted data + sorted_data[key] = entry + + with open(outname, "w") as file: + json.dump(sorted_data, file, indent=4) + + print(json.dumps(sorted_data, indent=4)) + + +def main(): + sort_instr_json("instr_dict.json", "udb_sorted_data.json") + sort_instr_json("instr_dict.json", "opcodes_sorted_data.json") + + +main() diff --git a/ext/opcodes_maker/yaml_to_json.py b/ext/opcodes_maker/yaml_to_json.py new file mode 100644 index 000000000..2d9c9fbba --- /dev/null +++ b/ext/opcodes_maker/yaml_to_json.py @@ -0,0 +1,178 @@ +from typing import List, Dict +import os +import yaml +import json +import argparse + + +def range_size(range_str: str) -> int: + try: + end, start = map(int, range_str.split("-")) + return abs(end - start) + 1 + except ValueError: + return 0 + + +reg_names = {"qs1", "qs2", "qd", "fs1", "fs2", "fd"} + + +def GetVariables(vars: List[Dict[str, str]]): + var_names = [] + for var in vars: + var_name = var["name"] + if var_name in reg_names: + # Since strings are immutable. + lst_var_name = list(var_name) + lst_var_name[0] = "r" + var_name = "".join(lst_var_name) + elif var_name == "shamt": + size = range_size(var["location"]) + if size == 5: + var_name = "shamtw" + elif size == 6: + var_name = "shamtd" + var_names.append(var_name) + var_names.reverse() + + return var_names + + +def BitStringToHex(bit_str: str) -> str: + new_bit_str = "" + for bit in bit_str: + if bit == "-": + new_bit_str += "0" + else: + new_bit_str += bit + return hex(int(new_bit_str, 2)) + + +def GetMask(bit_str: str) -> str: + mask_str = "" + for bit in bit_str: + if bit == "-": + mask_str += "0" + else: + mask_str += "1" + return hex(int(mask_str, 2)) + + +def GetExtension(ext, base): + prefix = f"rv{base}_" + final_extensions = [] + + if isinstance(ext, str): + final_extensions.append(prefix + ext.lower()) + elif isinstance(ext, dict): + for _, extensions in ext.items(): + for extension in extensions: + final_extensions.append(prefix + extension.lower()) + final_extensions.reverse() + + return final_extensions + + +def find_first_match(data): + if isinstance(data, dict): + for key, value in data.items(): + if key == "match": + return value + elif isinstance(value, (dict, list)): + result = find_first_match(value) + if result is not None: + return result + elif isinstance(data, list): + for item in data: + result = find_first_match(item) + if result is not None: + return result + return "" + + +def GetEncodings(enc: str): + n = len(enc) + if n < 32: + return "-" * (32 - n) + enc + return enc + + +def convert(file_dir: str, json_out): + with open(file_dir) as file: + data = yaml.safe_load(file) + instr_name = data["name"].replace(".", "_") + + print(instr_name) + encodings = data["encoding"] + + # USE RV_64 + rv64_flag = False + if "RV64" in encodings: + encodings = encodings["RV64"] + rv64_flag = True + enc_match = GetEncodings(encodings["match"]) + + var_names = [] + if "variables" in encodings: + var_names = GetVariables(encodings["variables"]) + + extension = [] + prefix = "" + if rv64_flag: + prefix = "64" + if "base" in data: + extension = GetExtension(data["definedBy"], data["base"]) + else: + extension = GetExtension(data["definedBy"], prefix) + + match_hex = BitStringToHex(enc_match) + match_mask = GetMask(enc_match) + + json_out[instr_name] = { + "encoding": enc_match, + "variable_fields": var_names, + "extension": extension, + "match": match_hex, + "mask": match_mask, + } + + +def read_yaml_insts(path: str): + yaml_files = [] + for root, _, files in os.walk(path): + for file in files: + if file.endswith(".yaml") or file.endswith(".yml"): + yaml_files.append(os.path.join(root, file)) + return yaml_files + + +def main(): + parser = argparse.ArgumentParser( + description="Convert YAML instruction files to JSON" + ) + parser.add_argument("input_dir", help="Directory containing YAML instruction files") + parser.add_argument("output_dir", help="Output directory for generated files") + + args = parser.parse_args() + + # Ensure input directory exists + if not os.path.isdir(args.input_dir): + parser.error(f"Input directory does not exist: {args.input_dir}") + + insts = read_yaml_insts(args.input_dir) + if not insts: + parser.error(f"No YAML files found in {args.input_dir}") + + inst_dict = {} + output_file = os.path.join(args.output_dir, "instr_dict.json") + + with open(output_file, "w") as outfile: + for inst_dir in insts: + convert(inst_dir, inst_dict) + json.dump(inst_dict, outfile, indent=4) + + print(f"Successfully processed {len(insts)} YAML files") + print(f"Output written to: {output_file}") + + +if __name__ == "__main__": + main() From 9c0fadceccd2cf0c3c0d9dd2651c2a22e8a5d79e Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Thu, 30 Jan 2025 13:12:11 +0000 Subject: [PATCH 03/13] Add README.md with instruction on how to use this tool. Signed-off-by: Afonso Oliveira --- ext/opcodes_maker/README.md | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 ext/opcodes_maker/README.md diff --git a/ext/opcodes_maker/README.md b/ext/opcodes_maker/README.md new file mode 100644 index 000000000..84d5735ae --- /dev/null +++ b/ext/opcodes_maker/README.md @@ -0,0 +1,89 @@ +# RISC-V Instruction Format Generator + +This tool converts RISC-V instruction YAML definitions into various output formats including C headers, Chisel, Rust, Go, and LaTeX documentation. + +## Prerequisites + +- Python 3 +- YAML Python package (`pip install pyyaml`) +- Make + +## Directory Structure + +``` +. +├── yaml_to_json.py # Converts YAML instruction definitions to JSON +├── generator.py # Generates various output formats from JSON +├── output/ # Generated files directory +└── Makefile # Build system configuration +``` + +## Input/Output Format + +### Input +- YAML files containing RISC-V instruction definitions +- Default input directory: `../../arch/inst` +- Can be customized using `YAML_DIR` variable + +### Output +All outputs are generated in the `output` directory: +- `encoding.out.h` - C header definitions +- `inst.chisel` - Chisel implementation +- `inst.spinalhdl` - SpinalHDL implementation +- `inst.sverilog` - SystemVerilog implementation +- `inst.rs` - Rust implementation +- `inst.go` - Go implementation +- `instr-table.tex` - LaTeX instruction table +- `priv-instr-table.tex` - LaTeX privileged instruction table +- `instr_dict.json` - Intermediate JSON representation +- `processed_instr_dict.json` - Final processed JSON + +## Usage + +### Basic Usage +```bash +make # Use default YAML directory +make YAML_DIR=/custom/path # Use custom YAML directory +make clean # Remove all generated files +make help # Show help message +``` + +### Pipeline Steps +1. YAML to JSON conversion (`yaml_to_json.py`) + - Reads YAML instruction definitions + - Creates intermediate JSON representation + +2. Output Generation (`generator.py`) + - Takes JSON input + - Generates all output formats + - Places results in output directory + +### Customization +- Input directory can be changed: + ```bash + make YAML_DIR=/path/to/yaml/files + ``` +- Default paths in Makefile: + ```makefile + YAML_DIR ?= ../../arch/inst + OPCODES_DIR := ../riscv-opcodes + OUTPUT_DIR := output + ``` + +## Error Handling +- Checks for required Python scripts before execution +- Verifies input directory exists +- Creates output directory if missing +- Shows helpful error messages for missing files/directories + +## Cleaning Up +```bash +make clean # Removes all generated files and output directory +``` + +## Dependencies +- Requires access to RISC-V opcodes repository (expected at `../riscv-opcodes`) +- Python scripts use standard libraries plus PyYAML + +## Note +Make sure your input YAML files follow the expected RISC-V instruction definition format. For format details, refer to the RISC-V specification or example YAML files in the arch/inst directory. From ca6ee60fe4dcc35ca6b2bc61506f7bde5f85a301 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Thu, 30 Jan 2025 13:23:18 +0000 Subject: [PATCH 04/13] Enhance error handling and support for non-default extensions, such as qc_iu Signed-off-by: Afonso Oliveira --- ext/opcodes_maker/yaml_to_json.py | 190 +++++++++++++++++------------- 1 file changed, 110 insertions(+), 80 deletions(-) diff --git a/ext/opcodes_maker/yaml_to_json.py b/ext/opcodes_maker/yaml_to_json.py index 2d9c9fbba..93c55182e 100644 --- a/ext/opcodes_maker/yaml_to_json.py +++ b/ext/opcodes_maker/yaml_to_json.py @@ -1,8 +1,11 @@ -from typing import List, Dict +#!/usr/bin/env python3 + +from typing import List, Dict, Union, Any import os import yaml import json import argparse +import sys def range_size(range_str: str) -> int: @@ -16,7 +19,7 @@ def range_size(range_str: str) -> int: reg_names = {"qs1", "qs2", "qd", "fs1", "fs2", "fd"} -def GetVariables(vars: List[Dict[str, str]]): +def GetVariables(vars: List[Dict[str, str]]) -> List[str]: var_names = [] for var in vars: var_name = var["name"] @@ -33,7 +36,6 @@ def GetVariables(vars: List[Dict[str, str]]): var_name = "shamtd" var_names.append(var_name) var_names.reverse() - return var_names @@ -57,86 +59,105 @@ def GetMask(bit_str: str) -> str: return hex(int(mask_str, 2)) -def GetExtension(ext, base): +def process_extension(ext: Union[str, dict]) -> List[str]: + """Process an extension definition into a list of strings.""" + if isinstance(ext, str): + return [ext.lower()] + elif isinstance(ext, dict): + result = [] + for item in ext.values(): + if isinstance(item, list): + result.extend( + [ + x.lower() if isinstance(x, str) else x["name"].lower() + for x in item + ] + ) + elif isinstance(item, (str, dict)): + if isinstance(item, str): + result.append(item.lower()) + else: + result.append(item["name"].lower()) + return result + return [] + + +def GetExtension(ext: Union[str, dict, list], base: str) -> List[str]: + """Get a list of extensions with proper prefix.""" prefix = f"rv{base}_" final_extensions = [] - if isinstance(ext, str): - final_extensions.append(prefix + ext.lower()) - elif isinstance(ext, dict): - for _, extensions in ext.items(): - for extension in extensions: - final_extensions.append(prefix + extension.lower()) - final_extensions.reverse() - - return final_extensions - - -def find_first_match(data): - if isinstance(data, dict): - for key, value in data.items(): - if key == "match": - return value - elif isinstance(value, (dict, list)): - result = find_first_match(value) - if result is not None: - return result - elif isinstance(data, list): - for item in data: - result = find_first_match(item) - if result is not None: - return result - return "" - - -def GetEncodings(enc: str): + if isinstance(ext, (str, dict)): + extensions = process_extension(ext) + final_extensions.extend(prefix + x for x in extensions) + elif isinstance(ext, list): + for item in ext: + extensions = process_extension(item) + final_extensions.extend(prefix + x for x in extensions) + + # Remove duplicates while preserving order + seen = set() + return [x for x in final_extensions if not (x in seen or seen.add(x))] + + +def GetEncodings(enc: str) -> str: n = len(enc) if n < 32: return "-" * (32 - n) + enc return enc -def convert(file_dir: str, json_out): - with open(file_dir) as file: - data = yaml.safe_load(file) - instr_name = data["name"].replace(".", "_") - - print(instr_name) - encodings = data["encoding"] - - # USE RV_64 - rv64_flag = False - if "RV64" in encodings: - encodings = encodings["RV64"] - rv64_flag = True - enc_match = GetEncodings(encodings["match"]) - - var_names = [] - if "variables" in encodings: - var_names = GetVariables(encodings["variables"]) - - extension = [] - prefix = "" - if rv64_flag: - prefix = "64" - if "base" in data: - extension = GetExtension(data["definedBy"], data["base"]) - else: - extension = GetExtension(data["definedBy"], prefix) - - match_hex = BitStringToHex(enc_match) - match_mask = GetMask(enc_match) - - json_out[instr_name] = { - "encoding": enc_match, - "variable_fields": var_names, - "extension": extension, - "match": match_hex, - "mask": match_mask, - } - - -def read_yaml_insts(path: str): +def convert(file_dir: str, json_out: Dict[str, Any]) -> None: + try: + with open(file_dir) as file: + data = yaml.safe_load(file) + instr_name = data["name"].replace(".", "_") + + print(instr_name) + encodings = data["encoding"] + + # USE RV_64 + rv64_flag = False + if "RV64" in encodings: + encodings = encodings["RV64"] + rv64_flag = True + enc_match = GetEncodings(encodings["match"]) + + var_names = [] + if "variables" in encodings: + var_names = GetVariables(encodings["variables"]) + + extension = [] + prefix = "" + if rv64_flag: + prefix = "64" + try: + if "base" in data: + extension = GetExtension(data["definedBy"], data["base"]) + else: + extension = GetExtension(data["definedBy"], prefix) + except Exception as e: + print( + f"Warning: Error processing extensions for {instr_name}: {str(e)}" + ) + extension = [] + + match_hex = BitStringToHex(enc_match) + match_mask = GetMask(enc_match) + + json_out[instr_name] = { + "encoding": enc_match, + "variable_fields": var_names, + "extension": extension, + "match": match_hex, + "mask": match_mask, + } + except Exception as e: + print(f"Error processing file {file_dir}: {str(e)}") + raise + + +def read_yaml_insts(path: str) -> List[str]: yaml_files = [] for root, _, files in os.walk(path): for file in files: @@ -165,13 +186,22 @@ def main(): inst_dict = {} output_file = os.path.join(args.output_dir, "instr_dict.json") - with open(output_file, "w") as outfile: + try: for inst_dir in insts: - convert(inst_dir, inst_dict) - json.dump(inst_dict, outfile, indent=4) - - print(f"Successfully processed {len(insts)} YAML files") - print(f"Output written to: {output_file}") + try: + convert(inst_dir, inst_dict) + except Exception as e: + print(f"Warning: Failed to process {inst_dir}: {str(e)}") + continue + + with open(output_file, "w") as outfile: + json.dump(inst_dict, outfile, indent=4) + + print(f"Successfully processed {len(insts)} YAML files") + print(f"Output written to: {output_file}") + except Exception as e: + print(f"Error: Failed to process YAML files: {str(e)}") + sys.exit(1) if __name__ == "__main__": From 6fe6eb1c7b19466cd2495a23dc06925fa904094b Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 3 Feb 2025 12:17:46 +0000 Subject: [PATCH 05/13] Switch directory folder and remove duplicated content Signed-off-by: Afonso Oliveira --- .pre-commit-config.yaml | 0 {ext => backends}/opcodes_maker/Makefile | 0 {ext => backends}/opcodes_maker/README.md | 0 {ext => backends}/opcodes_maker/generator.py | 2 +- {ext => backends}/opcodes_maker/sorter.py | 0 .../opcodes_maker/yaml_to_json.py | 0 opcodes_maker/generate_instr_dict.py | 148 - opcodes_maker/instr_dict.json | 15446 ---------------- opcodes_maker/sorter.py | 28 - 9 files changed, 1 insertion(+), 15623 deletions(-) mode change 100644 => 100755 .pre-commit-config.yaml rename {ext => backends}/opcodes_maker/Makefile (100%) rename {ext => backends}/opcodes_maker/README.md (100%) rename {ext => backends}/opcodes_maker/generator.py (98%) mode change 100644 => 100755 rename {ext => backends}/opcodes_maker/sorter.py (100%) rename {ext => backends}/opcodes_maker/yaml_to_json.py (100%) delete mode 100644 opcodes_maker/generate_instr_dict.py delete mode 100644 opcodes_maker/instr_dict.json delete mode 100644 opcodes_maker/sorter.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml old mode 100644 new mode 100755 diff --git a/ext/opcodes_maker/Makefile b/backends/opcodes_maker/Makefile similarity index 100% rename from ext/opcodes_maker/Makefile rename to backends/opcodes_maker/Makefile diff --git a/ext/opcodes_maker/README.md b/backends/opcodes_maker/README.md similarity index 100% rename from ext/opcodes_maker/README.md rename to backends/opcodes_maker/README.md diff --git a/ext/opcodes_maker/generator.py b/backends/opcodes_maker/generator.py old mode 100644 new mode 100755 similarity index 98% rename from ext/opcodes_maker/generator.py rename to backends/opcodes_maker/generator.py index 48c3bd210..e61c51638 --- a/ext/opcodes_maker/generator.py +++ b/backends/opcodes_maker/generator.py @@ -13,7 +13,7 @@ # Add riscv-opcodes directory to Python path SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) -RISCV_OPCODES_DIR = os.path.join(SCRIPT_DIR, "..", "riscv-opcodes") +RISCV_OPCODES_DIR = os.path.join(SCRIPT_DIR, "..", "..", "ext", "riscv-opcodes") sys.path.insert(0, RISCV_OPCODES_DIR) diff --git a/ext/opcodes_maker/sorter.py b/backends/opcodes_maker/sorter.py similarity index 100% rename from ext/opcodes_maker/sorter.py rename to backends/opcodes_maker/sorter.py diff --git a/ext/opcodes_maker/yaml_to_json.py b/backends/opcodes_maker/yaml_to_json.py similarity index 100% rename from ext/opcodes_maker/yaml_to_json.py rename to backends/opcodes_maker/yaml_to_json.py diff --git a/opcodes_maker/generate_instr_dict.py b/opcodes_maker/generate_instr_dict.py deleted file mode 100644 index 3560cbb93..000000000 --- a/opcodes_maker/generate_instr_dict.py +++ /dev/null @@ -1,148 +0,0 @@ -from typing import List, Dict -import os -import yaml -import json - - -def range_size(range_str: str) -> int: - try: - end, start = map(int, range_str.split('-')) - return abs(end - start) + 1 - except ValueError: - return 0; - -reg_names = {'qs1', 'qs2', 'qd', - 'fs1', 'fs2', 'fd'} - -def GetVariables(vars: List[Dict[str, str]]): - var_names = [] - for var in vars: - var_name = var['name'] - if var_name in reg_names: - # Since strings are immutable. - lst_var_name = list(var_name) - lst_var_name[0] = 'r' - var_name = "".join(lst_var_name) - elif var_name == "shamt": - size = range_size(var['location']) - if size == 5: - var_name = "shamtw" - elif size == 6: - var_name = "shamtd" - var_names.append(var_name) - var_names.reverse() - - return var_names - -def BitStringToHex(bit_str: str) -> str: - new_bit_str = "" - for bit in bit_str: - if bit == '-': - new_bit_str += '0' - else: - new_bit_str += bit - return hex(int(new_bit_str, 2)) - -def GetMask(bit_str: str) -> str: - mask_str = "" - for bit in bit_str: - if bit == '-': - mask_str += '0' - else: - mask_str += '1' - return hex(int(mask_str, 2)) - -def GetExtension(ext, base): - prefix = f'rv{base}_' - final_extensions = [] - - if isinstance(ext, str): - final_extensions.append(prefix + ext.lower()) - elif isinstance(ext, dict): - for _, extensions in ext.items(): - for extension in extensions: - final_extensions.append(prefix + extension.lower()) - final_extensions.reverse() - - return final_extensions - -def find_first_match(data): - if isinstance(data, dict): - for key, value in data.items(): - if key == "match": - return value - elif isinstance(value, (dict, list)): - result = find_first_match(value) - if result is not None: - return result - elif isinstance(data, list): - for item in data: - result = find_first_match(item) - if result is not None: - return result - return "" - -def GetEncodings(enc: str): - n = len(enc) - if n < 32: - return '-' * (32-n) + enc - return enc - -def convert(file_dir: str, json_out): - with open(file_dir, 'r') as file: - data = yaml.safe_load(file) - instr_name = data['name'].replace('.', '_') - - print(instr_name) - encodings = data['encoding'] - - # USE RV_64 - rv64_flag = False - if 'RV64' in encodings: - encodings = encodings['RV64'] - rv64_flag = True - enc_match = GetEncodings(encodings['match']) - - var_names = [] - if 'variables' in encodings: - var_names = GetVariables(encodings['variables']) - - extension = [] - prefix = "" - if rv64_flag: - prefix = "64" - if "base" in data: - extension = GetExtension(data["definedBy"], data["base"]) - else: - extension = GetExtension(data["definedBy"], prefix) - - match_hex = BitStringToHex(enc_match) - match_mask = GetMask(enc_match) - - json_out[instr_name] = { - "encoding": enc_match, - "variable_fields": var_names, - "extension": extension, - "match": match_hex, - "mask": match_mask - } - -def read_yaml_insts(path: str): - yaml_files = [] - for root, _, files in os.walk(path): - for file in files: - if file.endswith('.yaml') or file.endswith('.yml'): - yaml_files.append(os.path.join(root, file)) - return yaml_files - -def main(): - directory = "../arch/inst/" - insts = read_yaml_insts(directory) - - inst_dict = {} - with open('data.json', 'w') as outfile: - for inst_dir in insts: - convert(inst_dir, inst_dict) - json.dump(inst_dict, outfile, indent=4) -main() - diff --git a/opcodes_maker/instr_dict.json b/opcodes_maker/instr_dict.json deleted file mode 100644 index 61d282169..000000000 --- a/opcodes_maker/instr_dict.json +++ /dev/null @@ -1,15446 +0,0 @@ -{ - "vsm3c_vi": { - "encoding": "1010111----------010-----1110111", - "variable_fields": [ - "vs2", - "zimm5", - "vd" - ], - "extension": [ - "rv_zvksh", - "rv_zvks" - ], - "match": "0xae002077", - "mask": "0xfe00707f" - }, - "vsm3me_vv": { - "encoding": "1000001----------010-----1110111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvksh", - "rv_zvks" - ], - "match": "0x82002077", - "mask": "0xfe00707f" - }, - "vsm4k_vi": { - "encoding": "1000011----------010-----1110111", - "variable_fields": [ - "vs2", - "zimm5", - "vd" - ], - "extension": [ - "rv_zvksed", - "rv_zvks" - ], - "match": "0x86002077", - "mask": "0xfe00707f" - }, - "vsm4r_vv": { - "encoding": "1010001-----10000010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvksed", - "rv_zvks" - ], - "match": "0xa2082077", - "mask": "0xfe0ff07f" - }, - "vsm4r_vs": { - "encoding": "1010011-----10000010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvksed", - "rv_zvks" - ], - "match": "0xa6082077", - "mask": "0xfe0ff07f" - }, - "vsha2ms_vv": { - "encoding": "1011011----------010-----1110111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvknha", - "rv_zvknhb", - "rv_zvkn" - ], - "match": "0xb6002077", - "mask": "0xfe00707f" - }, - "vsha2ch_vv": { - "encoding": "1011101----------010-----1110111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvknha", - "rv_zvknhb", - "rv_zvkn" - ], - "match": "0xba002077", - "mask": "0xfe00707f" - }, - "vsha2cl_vv": { - "encoding": "1011111----------010-----1110111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvknha", - "rv_zvknhb", - "rv_zvkn" - ], - "match": "0xbe002077", - "mask": "0xfe00707f" - }, - "vaesdf_vv": { - "encoding": "1010001-----00001010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa200a077", - "mask": "0xfe0ff07f" - }, - "vaesdf_vs": { - "encoding": "1010011-----00001010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa600a077", - "mask": "0xfe0ff07f" - }, - "vaesdm_vv": { - "encoding": "1010001-----00000010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa2002077", - "mask": "0xfe0ff07f" - }, - "vaesdm_vs": { - "encoding": "1010011-----00000010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa6002077", - "mask": "0xfe0ff07f" - }, - "vaesef_vv": { - "encoding": "1010001-----00011010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa201a077", - "mask": "0xfe0ff07f" - }, - "vaesef_vs": { - "encoding": "1010011-----00011010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa601a077", - "mask": "0xfe0ff07f" - }, - "vaesem_vv": { - "encoding": "1010001-----00010010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa2012077", - "mask": "0xfe0ff07f" - }, - "vaesem_vs": { - "encoding": "1010011-----00010010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa6012077", - "mask": "0xfe0ff07f" - }, - "vaesz_vs": { - "encoding": "1010011-----00111010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xa603a077", - "mask": "0xfe0ff07f" - }, - "vaeskf1_vi": { - "encoding": "1000101----------010-----1110111", - "variable_fields": [ - "vs2", - "zimm5", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0x8a002077", - "mask": "0xfe00707f" - }, - "vaeskf2_vi": { - "encoding": "1010101----------010-----1110111", - "variable_fields": [ - "vs2", - "zimm5", - "vd" - ], - "extension": [ - "rv_zvkned", - "rv_zvkn" - ], - "match": "0xaa002077", - "mask": "0xfe00707f" - }, - "vgmul_vv": { - "encoding": "1010001-----10001010-----1110111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_zvkg" - ], - "match": "0xa208a077", - "mask": "0xfe0ff07f" - }, - "vghsh_vv": { - "encoding": "1011001----------010-----1110111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvkg" - ], - "match": "0xb2002077", - "mask": "0xfe00707f" - }, - "vfwmaccbf16_vv": { - "encoding": "111011-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvfbfwma" - ], - "match": "0xec001057", - "mask": "0xfc00707f" - }, - "vfwmaccbf16_vf": { - "encoding": "111011-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_zvfbfwma" - ], - "match": "0xec005057", - "mask": "0xfc00707f" - }, - "vfncvtbf16_f_f_w": { - "encoding": "010010------11101001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvfbfmin" - ], - "match": "0x480e9057", - "mask": "0xfc0ff07f" - }, - "vfwcvtbf16_f_f_v": { - "encoding": "010010------01101001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvfbfmin" - ], - "match": "0x48069057", - "mask": "0xfc0ff07f" - }, - "vclmul_vv": { - "encoding": "001100-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvbc", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x30002057", - "mask": "0xfc00707f" - }, - "vclmul_vx": { - "encoding": "001100-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_zvbc", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x30006057", - "mask": "0xfc00707f" - }, - "vclmulh_vv": { - "encoding": "001101-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvbc", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x34002057", - "mask": "0xfc00707f" - }, - "vclmulh_vx": { - "encoding": "001101-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_zvbc", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x34006057", - "mask": "0xfc00707f" - }, - "vandn_vv": { - "encoding": "000001-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x4000057", - "mask": "0xfc00707f" - }, - "vandn_vx": { - "encoding": "000001-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x4004057", - "mask": "0xfc00707f" - }, - "vbrev_v": { - "encoding": "010010------01010010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x48052057", - "mask": "0xfc0ff07f" - }, - "vbrev8_v": { - "encoding": "010010------01000010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x48042057", - "mask": "0xfc0ff07f" - }, - "vrev8_v": { - "encoding": "010010------01001010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x4804a057", - "mask": "0xfc0ff07f" - }, - "vclz_v": { - "encoding": "010010------01100010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x48062057", - "mask": "0xfc0ff07f" - }, - "vctz_v": { - "encoding": "010010------01101010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x4806a057", - "mask": "0xfc0ff07f" - }, - "vcpop_v": { - "encoding": "010010------01110010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x48072057", - "mask": "0xfc0ff07f" - }, - "vrol_vv": { - "encoding": "010101-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x54000057", - "mask": "0xfc00707f" - }, - "vrol_vx": { - "encoding": "010101-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x54004057", - "mask": "0xfc00707f" - }, - "vror_vv": { - "encoding": "010100-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x50000057", - "mask": "0xfc00707f" - }, - "vror_vx": { - "encoding": "010100-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x50004057", - "mask": "0xfc00707f" - }, - "vror_vi": { - "encoding": "01010------------011-----1010111", - "variable_fields": [ - "zimm6hi", - "vm", - "vs2", - "zimm6lo", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0x50003057", - "mask": "0xf800707f" - }, - "vwsll_vv": { - "encoding": "110101-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0xd4000057", - "mask": "0xfc00707f" - }, - "vwsll_vx": { - "encoding": "110101-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0xd4004057", - "mask": "0xfc00707f" - }, - "vwsll_vi": { - "encoding": "110101-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "zimm5", - "vd" - ], - "extension": [ - "rv_zvbb", - "rv_zvks", - "rv_zvkn" - ], - "match": "0xd4003057", - "mask": "0xfc00707f" - }, - "sm3p0": { - "encoding": "000100001000-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zksh", - "rv_zks" - ], - "match": "0x10801013", - "mask": "0xfff0707f" - }, - "sm3p1": { - "encoding": "000100001001-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zksh", - "rv_zks" - ], - "match": "0x10901013", - "mask": "0xfff0707f" - }, - "sm4ed": { - "encoding": "--11000----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "bs" - ], - "extension": [ - "rv_zksed", - "rv_zks" - ], - "match": "0x30000033", - "mask": "0x3e00707f" - }, - "sm4ks": { - "encoding": "--11010----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "bs" - ], - "extension": [ - "rv_zksed", - "rv_zks" - ], - "match": "0x34000033", - "mask": "0x3e00707f" - }, - "sha256sum0": { - "encoding": "000100000000-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zknh", - "rv_zkn", - "rv_zk" - ], - "match": "0x10001013", - "mask": "0xfff0707f" - }, - "sha256sum1": { - "encoding": "000100000001-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zknh", - "rv_zkn", - "rv_zk" - ], - "match": "0x10101013", - "mask": "0xfff0707f" - }, - "sha256sig0": { - "encoding": "000100000010-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zknh", - "rv_zkn", - "rv_zk" - ], - "match": "0x10201013", - "mask": "0xfff0707f" - }, - "sha256sig1": { - "encoding": "000100000011-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zknh", - "rv_zkn", - "rv_zk" - ], - "match": "0x10301013", - "mask": "0xfff0707f" - }, - "mop_r_N": { - "encoding": "1-00--0111-------100-----1110011", - "variable_fields": [ - "mop_r_t_30", - "mop_r_t_27_26", - "mop_r_t_21_20", - "rd", - "rs1" - ], - "extension": [ - "rv_zimop" - ], - "match": "0x81c04073", - "mask": "0xb3c0707f" - }, - "mop_rr_N": { - "encoding": "1-00--1----------100-----1110011", - "variable_fields": [ - "mop_rr_t_30", - "mop_rr_t_27_26", - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zimop" - ], - "match": "0x82004073", - "mask": "0xb200707f" - }, - "fence_i": { - "encoding": "-----------------001-----0001111", - "variable_fields": [ - "imm12", - "rs1", - "rd" - ], - "extension": [ - "rv_zifencei" - ], - "match": "0x100f", - "mask": "0x707f" - }, - "csrrw": { - "encoding": "-----------------001-----1110011", - "variable_fields": [ - "rd", - "rs1", - "csr" - ], - "extension": [ - "rv_zicsr" - ], - "match": "0x1073", - "mask": "0x707f" - }, - "csrrs": { - "encoding": "-----------------010-----1110011", - "variable_fields": [ - "rd", - "rs1", - "csr" - ], - "extension": [ - "rv_zicsr" - ], - "match": "0x2073", - "mask": "0x707f" - }, - "csrrc": { - "encoding": "-----------------011-----1110011", - "variable_fields": [ - "rd", - "rs1", - "csr" - ], - "extension": [ - "rv_zicsr" - ], - "match": "0x3073", - "mask": "0x707f" - }, - "csrrwi": { - "encoding": "-----------------101-----1110011", - "variable_fields": [ - "rd", - "csr", - "zimm" - ], - "extension": [ - "rv_zicsr" - ], - "match": "0x5073", - "mask": "0x707f" - }, - "csrrsi": { - "encoding": "-----------------110-----1110011", - "variable_fields": [ - "rd", - "csr", - "zimm" - ], - "extension": [ - "rv_zicsr" - ], - "match": "0x6073", - "mask": "0x707f" - }, - "csrrci": { - "encoding": "-----------------111-----1110011", - "variable_fields": [ - "rd", - "csr", - "zimm" - ], - "extension": [ - "rv_zicsr" - ], - "match": "0x7073", - "mask": "0x707f" - }, - "czero_eqz": { - "encoding": "0000111----------101-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zicond" - ], - "match": "0xe005033", - "mask": "0xfe00707f" - }, - "czero_nez": { - "encoding": "0000111----------111-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zicond" - ], - "match": "0xe007033", - "mask": "0xfe00707f" - }, - "ssamoswap_w": { - "encoding": "01001------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zicfiss" - ], - "match": "0x4800202f", - "mask": "0xf800707f" - }, - "ssamoswap_d": { - "encoding": "01001------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zicfiss" - ], - "match": "0x4800302f", - "mask": "0xf800707f" - }, - "cbo_clean": { - "encoding": "000000000001-----010000000001111", - "variable_fields": [ - "rs1" - ], - "extension": [ - "rv_zicbo" - ], - "match": "0x10200f", - "mask": "0xfff07fff" - }, - "cbo_flush": { - "encoding": "000000000010-----010000000001111", - "variable_fields": [ - "rs1" - ], - "extension": [ - "rv_zicbo" - ], - "match": "0x20200f", - "mask": "0xfff07fff" - }, - "cbo_inval": { - "encoding": "000000000000-----010000000001111", - "variable_fields": [ - "rs1" - ], - "extension": [ - "rv_zicbo" - ], - "match": "0x200f", - "mask": "0xfff07fff" - }, - "cbo_zero": { - "encoding": "000000000100-----010000000001111", - "variable_fields": [ - "rs1" - ], - "extension": [ - "rv_zicbo" - ], - "match": "0x40200f", - "mask": "0xfff07fff" - }, - "fli_h": { - "encoding": "111101000001-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zfh_zfa" - ], - "match": "0xf4100053", - "mask": "0xfff0707f" - }, - "fminm_h": { - "encoding": "0010110----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh_zfa" - ], - "match": "0x2c002053", - "mask": "0xfe00707f" - }, - "fmaxm_h": { - "encoding": "0010110----------011-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh_zfa" - ], - "match": "0x2c003053", - "mask": "0xfe00707f" - }, - "fround_h": { - "encoding": "010001000100-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh_zfa" - ], - "match": "0x44400053", - "mask": "0xfff0007f" - }, - "froundnx_h": { - "encoding": "010001000101-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh_zfa" - ], - "match": "0x44500053", - "mask": "0xfff0007f" - }, - "fleq_h": { - "encoding": "1010010----------100-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh_zfa" - ], - "match": "0xa4004053", - "mask": "0xfe00707f" - }, - "fltq_h": { - "encoding": "1010010----------101-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh_zfa" - ], - "match": "0xa4005053", - "mask": "0xfe00707f" - }, - "flh": { - "encoding": "-----------------001-----0000111", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x1007", - "mask": "0x707f" - }, - "fsh": { - "encoding": "-----------------001-----0100111", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x1027", - "mask": "0x707f" - }, - "fmadd_h": { - "encoding": "-----10------------------1000011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x4000043", - "mask": "0x600007f" - }, - "fmsub_h": { - "encoding": "-----10------------------1000111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x4000047", - "mask": "0x600007f" - }, - "fnmsub_h": { - "encoding": "-----10------------------1001011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x400004b", - "mask": "0x600007f" - }, - "fnmadd_h": { - "encoding": "-----10------------------1001111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x400004f", - "mask": "0x600007f" - }, - "fadd_h": { - "encoding": "0000010------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x4000053", - "mask": "0xfe00007f" - }, - "fsub_h": { - "encoding": "0000110------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xc000053", - "mask": "0xfe00007f" - }, - "fmul_h": { - "encoding": "0001010------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x14000053", - "mask": "0xfe00007f" - }, - "fdiv_h": { - "encoding": "0001110------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x1c000053", - "mask": "0xfe00007f" - }, - "fsqrt_h": { - "encoding": "010111000000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x5c000053", - "mask": "0xfff0007f" - }, - "fsgnj_h": { - "encoding": "0010010----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x24000053", - "mask": "0xfe00707f" - }, - "fsgnjn_h": { - "encoding": "0010010----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x24001053", - "mask": "0xfe00707f" - }, - "fsgnjx_h": { - "encoding": "0010010----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x24002053", - "mask": "0xfe00707f" - }, - "fmin_h": { - "encoding": "0010110----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x2c000053", - "mask": "0xfe00707f" - }, - "fmax_h": { - "encoding": "0010110----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x2c001053", - "mask": "0xfe00707f" - }, - "fcvt_s_h": { - "encoding": "010000000010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x40200053", - "mask": "0xfff0007f" - }, - "fcvt_h_s": { - "encoding": "010001000000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0x44000053", - "mask": "0xfff0007f" - }, - "feq_h": { - "encoding": "1010010----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xa4002053", - "mask": "0xfe00707f" - }, - "flt_h": { - "encoding": "1010010----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xa4001053", - "mask": "0xfe00707f" - }, - "fle_h": { - "encoding": "1010010----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xa4000053", - "mask": "0xfe00707f" - }, - "fclass_h": { - "encoding": "111001000000-----001-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xe4001053", - "mask": "0xfff0707f" - }, - "fcvt_w_h": { - "encoding": "110001000000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xc4000053", - "mask": "0xfff0007f" - }, - "fcvt_wu_h": { - "encoding": "110001000001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xc4100053", - "mask": "0xfff0007f" - }, - "fmv_x_h": { - "encoding": "111001000000-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xe4000053", - "mask": "0xfff0707f" - }, - "fcvt_h_w": { - "encoding": "110101000000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xd4000053", - "mask": "0xfff0007f" - }, - "fcvt_h_wu": { - "encoding": "110101000001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xd4100053", - "mask": "0xfff0007f" - }, - "fmv_h_x": { - "encoding": "111101000000-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zfh" - ], - "match": "0xf4000053", - "mask": "0xfff0707f" - }, - "fcvt_bf16_s": { - "encoding": "010001001000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfbfmin" - ], - "match": "0x44800053", - "mask": "0xfff0007f" - }, - "fcvt_s_bf16": { - "encoding": "010000000110-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_zfbfmin" - ], - "match": "0x40600053", - "mask": "0xfff0007f" - }, - "cm_jalt": { - "encoding": "----------------101000--------10", - "variable_fields": [ - "c_index" - ], - "extension": [ - "rv_zcmt" - ], - "match": "0xa002", - "mask": "0xfc03" - }, - "cm_push": { - "encoding": "----------------10111000------10", - "variable_fields": [ - "c_rlist", - "c_spimm" - ], - "extension": [ - "rv_zcmp" - ], - "match": "0xb802", - "mask": "0xff03" - }, - "cm_pop": { - "encoding": "----------------10111010------10", - "variable_fields": [ - "c_rlist", - "c_spimm" - ], - "extension": [ - "rv_zcmp" - ], - "match": "0xba02", - "mask": "0xff03" - }, - "cm_popretz": { - "encoding": "----------------10111100------10", - "variable_fields": [ - "c_rlist", - "c_spimm" - ], - "extension": [ - "rv_zcmp" - ], - "match": "0xbc02", - "mask": "0xff03" - }, - "cm_popret": { - "encoding": "----------------10111110------10", - "variable_fields": [ - "c_rlist", - "c_spimm" - ], - "extension": [ - "rv_zcmp" - ], - "match": "0xbe02", - "mask": "0xff03" - }, - "cm_mvsa01": { - "encoding": "----------------101011---01---10", - "variable_fields": [ - "c_sreg1", - "c_sreg2" - ], - "extension": [ - "rv_zcmp" - ], - "match": "0xac22", - "mask": "0xfc63" - }, - "cm_mva01s": { - "encoding": "----------------101011---11---10", - "variable_fields": [ - "c_sreg1", - "c_sreg2" - ], - "extension": [ - "rv_zcmp" - ], - "match": "0xac62", - "mask": "0xfc63" - }, - "c_mop_N": { - "encoding": "----------------01100---10000001", - "variable_fields": [ - "c_mop_t" - ], - "extension": [ - "rv_zcmop" - ], - "match": "0x6081", - "mask": "0xf8ff" - }, - "c_lbu": { - "encoding": "----------------100000--------00", - "variable_fields": [ - "rd_p", - "rs1_p", - "c_uimm2" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x8000", - "mask": "0xfc03" - }, - "c_lhu": { - "encoding": "----------------100001---0----00", - "variable_fields": [ - "rd_p", - "rs1_p", - "c_uimm1" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x8400", - "mask": "0xfc43" - }, - "c_lh": { - "encoding": "----------------100001---1----00", - "variable_fields": [ - "rd_p", - "rs1_p", - "c_uimm1" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x8440", - "mask": "0xfc43" - }, - "c_sb": { - "encoding": "----------------100010--------00", - "variable_fields": [ - "rs2_p", - "rs1_p", - "c_uimm2" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x8800", - "mask": "0xfc03" - }, - "c_sh": { - "encoding": "----------------100011---0----00", - "variable_fields": [ - "rs2_p", - "rs1_p", - "c_uimm1" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x8c00", - "mask": "0xfc43" - }, - "c_zext_b": { - "encoding": "----------------100111---1100001", - "variable_fields": [ - "rd_rs1_p" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x9c61", - "mask": "0xfc7f" - }, - "c_sext_b": { - "encoding": "----------------100111---1100101", - "variable_fields": [ - "rd_rs1_p" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x9c65", - "mask": "0xfc7f" - }, - "c_zext_h": { - "encoding": "----------------100111---1101001", - "variable_fields": [ - "rd_rs1_p" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x9c69", - "mask": "0xfc7f" - }, - "c_sext_h": { - "encoding": "----------------100111---1101101", - "variable_fields": [ - "rd_rs1_p" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x9c6d", - "mask": "0xfc7f" - }, - "c_not": { - "encoding": "----------------100111---1110101", - "variable_fields": [ - "rd_rs1_p" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x9c75", - "mask": "0xfc7f" - }, - "c_mul": { - "encoding": "----------------100111---10---01", - "variable_fields": [ - "rd_rs1_p", - "rs2_p" - ], - "extension": [ - "rv_zcb" - ], - "match": "0x9c41", - "mask": "0xfc63" - }, - "bclr": { - "encoding": "0100100----------001-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbs" - ], - "match": "0x48001033", - "mask": "0xfe00707f" - }, - "bext": { - "encoding": "0100100----------101-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbs" - ], - "match": "0x48005033", - "mask": "0xfe00707f" - }, - "binv": { - "encoding": "0110100----------001-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbs" - ], - "match": "0x68001033", - "mask": "0xfe00707f" - }, - "bset": { - "encoding": "0010100----------001-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbs" - ], - "match": "0x28001033", - "mask": "0xfe00707f" - }, - "xperm4": { - "encoding": "0010100----------010-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbkx", - "rv_zks", - "rv_zkn", - "rv_zk" - ], - "match": "0x28002033", - "mask": "0xfe00707f" - }, - "xperm8": { - "encoding": "0010100----------100-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbkx", - "rv_zks", - "rv_zkn", - "rv_zk" - ], - "match": "0x28004033", - "mask": "0xfe00707f" - }, - "pack": { - "encoding": "0000100----------100-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbkb", - "rv_zks", - "rv_zkn", - "rv_zk" - ], - "match": "0x8004033", - "mask": "0xfe00707f" - }, - "packh": { - "encoding": "0000100----------111-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbkb", - "rv_zks", - "rv_zkn", - "rv_zk" - ], - "match": "0x8007033", - "mask": "0xfe00707f" - }, - "clmul": { - "encoding": "0000101----------001-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbc", - "rv_zks", - "rv_zkn", - "rv_zk", - "rv_zbkc" - ], - "match": "0xa001033", - "mask": "0xfe00707f" - }, - "clmulr": { - "encoding": "0000101----------010-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbc" - ], - "match": "0xa002033", - "mask": "0xfe00707f" - }, - "clmulh": { - "encoding": "0000101----------011-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbc", - "rv_zks", - "rv_zkn", - "rv_zk", - "rv_zbkc" - ], - "match": "0xa003033", - "mask": "0xfe00707f" - }, - "andn": { - "encoding": "0100000----------111-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb", - "rv_zks", - "rv_zkn", - "rv_zk", - "rv_zbkb" - ], - "match": "0x40007033", - "mask": "0xfe00707f" - }, - "orn": { - "encoding": "0100000----------110-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb", - "rv_zks", - "rv_zkn", - "rv_zk", - "rv_zbkb" - ], - "match": "0x40006033", - "mask": "0xfe00707f" - }, - "xnor": { - "encoding": "0100000----------100-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb", - "rv_zks", - "rv_zkn", - "rv_zk", - "rv_zbkb" - ], - "match": "0x40004033", - "mask": "0xfe00707f" - }, - "clz": { - "encoding": "011000000000-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zbb" - ], - "match": "0x60001013", - "mask": "0xfff0707f" - }, - "ctz": { - "encoding": "011000000001-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zbb" - ], - "match": "0x60101013", - "mask": "0xfff0707f" - }, - "cpop": { - "encoding": "011000000010-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zbb" - ], - "match": "0x60201013", - "mask": "0xfff0707f" - }, - "max": { - "encoding": "0000101----------110-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb" - ], - "match": "0xa006033", - "mask": "0xfe00707f" - }, - "maxu": { - "encoding": "0000101----------111-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb" - ], - "match": "0xa007033", - "mask": "0xfe00707f" - }, - "min": { - "encoding": "0000101----------100-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb" - ], - "match": "0xa004033", - "mask": "0xfe00707f" - }, - "minu": { - "encoding": "0000101----------101-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb" - ], - "match": "0xa005033", - "mask": "0xfe00707f" - }, - "sext_b": { - "encoding": "011000000100-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zbb" - ], - "match": "0x60401013", - "mask": "0xfff0707f" - }, - "sext_h": { - "encoding": "011000000101-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_zbb" - ], - "match": "0x60501013", - "mask": "0xfff0707f" - }, - "rol": { - "encoding": "0110000----------001-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb", - "rv_zks", - "rv_zkn", - "rv_zk", - "rv_zbkb" - ], - "match": "0x60001033", - "mask": "0xfe00707f" - }, - "ror": { - "encoding": "0110000----------101-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbb", - "rv_zks", - "rv_zkn", - "rv_zk", - "rv_zbkb" - ], - "match": "0x60005033", - "mask": "0xfe00707f" - }, - "sh1add": { - "encoding": "0010000----------010-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zba" - ], - "match": "0x20002033", - "mask": "0xfe00707f" - }, - "sh2add": { - "encoding": "0010000----------100-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zba" - ], - "match": "0x20004033", - "mask": "0xfe00707f" - }, - "sh3add": { - "encoding": "0010000----------110-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zba" - ], - "match": "0x20006033", - "mask": "0xfe00707f" - }, - "wrs_nto": { - "encoding": "00000000110100000000000001110011", - "variable_fields": [], - "extension": [ - "rv_zawrs" - ], - "match": "0xd00073", - "mask": "0xffffffff" - }, - "wrs_sto": { - "encoding": "00000001110100000000000001110011", - "variable_fields": [], - "extension": [ - "rv_zawrs" - ], - "match": "0x1d00073", - "mask": "0xffffffff" - }, - "amocas_w": { - "encoding": "00101------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zacas" - ], - "match": "0x2800202f", - "mask": "0xf800707f" - }, - "amocas_d": { - "encoding": "00101------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zacas" - ], - "match": "0x2800302f", - "mask": "0xf800707f" - }, - "amoswap_b": { - "encoding": "00001------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x800002f", - "mask": "0xf800707f" - }, - "amoadd_b": { - "encoding": "00000------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x2f", - "mask": "0xf800707f" - }, - "amoxor_b": { - "encoding": "00100------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x2000002f", - "mask": "0xf800707f" - }, - "amoand_b": { - "encoding": "01100------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x6000002f", - "mask": "0xf800707f" - }, - "amoor_b": { - "encoding": "01000------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x4000002f", - "mask": "0xf800707f" - }, - "amomin_b": { - "encoding": "10000------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x8000002f", - "mask": "0xf800707f" - }, - "amomax_b": { - "encoding": "10100------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0xa000002f", - "mask": "0xf800707f" - }, - "amominu_b": { - "encoding": "11000------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0xc000002f", - "mask": "0xf800707f" - }, - "amomaxu_b": { - "encoding": "11100------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0xe000002f", - "mask": "0xf800707f" - }, - "amocas_b": { - "encoding": "00101------------000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x2800002f", - "mask": "0xf800707f" - }, - "amoswap_h": { - "encoding": "00001------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x800102f", - "mask": "0xf800707f" - }, - "amoadd_h": { - "encoding": "00000------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x102f", - "mask": "0xf800707f" - }, - "amoxor_h": { - "encoding": "00100------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x2000102f", - "mask": "0xf800707f" - }, - "amoand_h": { - "encoding": "01100------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x6000102f", - "mask": "0xf800707f" - }, - "amoor_h": { - "encoding": "01000------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x4000102f", - "mask": "0xf800707f" - }, - "amomin_h": { - "encoding": "10000------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x8000102f", - "mask": "0xf800707f" - }, - "amomax_h": { - "encoding": "10100------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0xa000102f", - "mask": "0xf800707f" - }, - "amominu_h": { - "encoding": "11000------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0xc000102f", - "mask": "0xf800707f" - }, - "amomaxu_h": { - "encoding": "11100------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0xe000102f", - "mask": "0xf800707f" - }, - "amocas_h": { - "encoding": "00101------------001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_zabha" - ], - "match": "0x2800102f", - "mask": "0xf800707f" - }, - "vsetivli": { - "encoding": "11---------------111-----1010111", - "variable_fields": [ - "zimm10", - "zimm", - "rd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0007057", - "mask": "0xc000707f" - }, - "vsetvli": { - "encoding": "0----------------111-----1010111", - "variable_fields": [ - "zimm11", - "rs1", - "rd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7057", - "mask": "0x8000707f" - }, - "vsetvl": { - "encoding": "1000000----------111-----1010111", - "variable_fields": [ - "rs2", - "rs1", - "rd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80007057", - "mask": "0xfe00707f" - }, - "vlm_v": { - "encoding": "000000101011-----000-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2b00007", - "mask": "0xfff0707f" - }, - "vsm_v": { - "encoding": "000000101011-----000-----0100111", - "variable_fields": [ - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x2b00027", - "mask": "0xfff0707f" - }, - "vle8_v": { - "encoding": "000000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7", - "mask": "0xfdf0707f" - }, - "vlseg2e8_v": { - "encoding": "001000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20000007", - "mask": "0xfdf0707f" - }, - "vlseg3e8_v": { - "encoding": "010000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40000007", - "mask": "0xfdf0707f" - }, - "vlseg4e8_v": { - "encoding": "011000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60000007", - "mask": "0xfdf0707f" - }, - "vlseg5e8_v": { - "encoding": "100000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80000007", - "mask": "0xfdf0707f" - }, - "vlseg6e8_v": { - "encoding": "101000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0000007", - "mask": "0xfdf0707f" - }, - "vlseg7e8_v": { - "encoding": "110000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0000007", - "mask": "0xfdf0707f" - }, - "vlseg8e8_v": { - "encoding": "111000-00000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0000007", - "mask": "0xfdf0707f" - }, - "vle16_v": { - "encoding": "000000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5007", - "mask": "0xfdf0707f" - }, - "vlseg2e16_v": { - "encoding": "001000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20005007", - "mask": "0xfdf0707f" - }, - "vlseg3e16_v": { - "encoding": "010000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40005007", - "mask": "0xfdf0707f" - }, - "vlseg4e16_v": { - "encoding": "011000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60005007", - "mask": "0xfdf0707f" - }, - "vlseg5e16_v": { - "encoding": "100000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80005007", - "mask": "0xfdf0707f" - }, - "vlseg6e16_v": { - "encoding": "101000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0005007", - "mask": "0xfdf0707f" - }, - "vlseg7e16_v": { - "encoding": "110000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0005007", - "mask": "0xfdf0707f" - }, - "vlseg8e16_v": { - "encoding": "111000-00000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0005007", - "mask": "0xfdf0707f" - }, - "vle32_v": { - "encoding": "000000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6007", - "mask": "0xfdf0707f" - }, - "vlseg2e32_v": { - "encoding": "001000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20006007", - "mask": "0xfdf0707f" - }, - "vlseg3e32_v": { - "encoding": "010000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40006007", - "mask": "0xfdf0707f" - }, - "vlseg4e32_v": { - "encoding": "011000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60006007", - "mask": "0xfdf0707f" - }, - "vlseg5e32_v": { - "encoding": "100000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80006007", - "mask": "0xfdf0707f" - }, - "vlseg6e32_v": { - "encoding": "101000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0006007", - "mask": "0xfdf0707f" - }, - "vlseg7e32_v": { - "encoding": "110000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0006007", - "mask": "0xfdf0707f" - }, - "vlseg8e32_v": { - "encoding": "111000-00000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0006007", - "mask": "0xfdf0707f" - }, - "vle64_v": { - "encoding": "000000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7007", - "mask": "0xfdf0707f" - }, - "vlseg2e64_v": { - "encoding": "001000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20007007", - "mask": "0xfdf0707f" - }, - "vlseg3e64_v": { - "encoding": "010000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40007007", - "mask": "0xfdf0707f" - }, - "vlseg4e64_v": { - "encoding": "011000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60007007", - "mask": "0xfdf0707f" - }, - "vlseg5e64_v": { - "encoding": "100000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80007007", - "mask": "0xfdf0707f" - }, - "vlseg6e64_v": { - "encoding": "101000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0007007", - "mask": "0xfdf0707f" - }, - "vlseg7e64_v": { - "encoding": "110000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0007007", - "mask": "0xfdf0707f" - }, - "vlseg8e64_v": { - "encoding": "111000-00000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0007007", - "mask": "0xfdf0707f" - }, - "vse8_v": { - "encoding": "000000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x27", - "mask": "0xfdf0707f" - }, - "vsseg2e8_v": { - "encoding": "001000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x20000027", - "mask": "0xfdf0707f" - }, - "vsseg3e8_v": { - "encoding": "010000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x40000027", - "mask": "0xfdf0707f" - }, - "vsseg4e8_v": { - "encoding": "011000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x60000027", - "mask": "0xfdf0707f" - }, - "vsseg5e8_v": { - "encoding": "100000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x80000027", - "mask": "0xfdf0707f" - }, - "vsseg6e8_v": { - "encoding": "101000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0000027", - "mask": "0xfdf0707f" - }, - "vsseg7e8_v": { - "encoding": "110000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0000027", - "mask": "0xfdf0707f" - }, - "vsseg8e8_v": { - "encoding": "111000-00000-----000-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0000027", - "mask": "0xfdf0707f" - }, - "vse16_v": { - "encoding": "000000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x5027", - "mask": "0xfdf0707f" - }, - "vsseg2e16_v": { - "encoding": "001000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x20005027", - "mask": "0xfdf0707f" - }, - "vsseg3e16_v": { - "encoding": "010000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x40005027", - "mask": "0xfdf0707f" - }, - "vsseg4e16_v": { - "encoding": "011000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x60005027", - "mask": "0xfdf0707f" - }, - "vsseg5e16_v": { - "encoding": "100000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x80005027", - "mask": "0xfdf0707f" - }, - "vsseg6e16_v": { - "encoding": "101000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0005027", - "mask": "0xfdf0707f" - }, - "vsseg7e16_v": { - "encoding": "110000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0005027", - "mask": "0xfdf0707f" - }, - "vsseg8e16_v": { - "encoding": "111000-00000-----101-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0005027", - "mask": "0xfdf0707f" - }, - "vse32_v": { - "encoding": "000000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x6027", - "mask": "0xfdf0707f" - }, - "vsseg2e32_v": { - "encoding": "001000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x20006027", - "mask": "0xfdf0707f" - }, - "vsseg3e32_v": { - "encoding": "010000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x40006027", - "mask": "0xfdf0707f" - }, - "vsseg4e32_v": { - "encoding": "011000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x60006027", - "mask": "0xfdf0707f" - }, - "vsseg5e32_v": { - "encoding": "100000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x80006027", - "mask": "0xfdf0707f" - }, - "vsseg6e32_v": { - "encoding": "101000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0006027", - "mask": "0xfdf0707f" - }, - "vsseg7e32_v": { - "encoding": "110000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0006027", - "mask": "0xfdf0707f" - }, - "vsseg8e32_v": { - "encoding": "111000-00000-----110-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0006027", - "mask": "0xfdf0707f" - }, - "vse64_v": { - "encoding": "000000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x7027", - "mask": "0xfdf0707f" - }, - "vsseg2e64_v": { - "encoding": "001000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x20007027", - "mask": "0xfdf0707f" - }, - "vsseg3e64_v": { - "encoding": "010000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x40007027", - "mask": "0xfdf0707f" - }, - "vsseg4e64_v": { - "encoding": "011000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x60007027", - "mask": "0xfdf0707f" - }, - "vsseg5e64_v": { - "encoding": "100000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x80007027", - "mask": "0xfdf0707f" - }, - "vsseg6e64_v": { - "encoding": "101000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0007027", - "mask": "0xfdf0707f" - }, - "vsseg7e64_v": { - "encoding": "110000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0007027", - "mask": "0xfdf0707f" - }, - "vsseg8e64_v": { - "encoding": "111000-00000-----111-----0100111", - "variable_fields": [ - "vm", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0007027", - "mask": "0xfdf0707f" - }, - "vluxei8_v": { - "encoding": "000001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4000007", - "mask": "0xfc00707f" - }, - "vluxseg2ei8_v": { - "encoding": "001001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24000007", - "mask": "0xfc00707f" - }, - "vluxseg3ei8_v": { - "encoding": "010001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x44000007", - "mask": "0xfc00707f" - }, - "vluxseg4ei8_v": { - "encoding": "011001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64000007", - "mask": "0xfc00707f" - }, - "vluxseg5ei8_v": { - "encoding": "100001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84000007", - "mask": "0xfc00707f" - }, - "vluxseg6ei8_v": { - "encoding": "101001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4000007", - "mask": "0xfc00707f" - }, - "vluxseg7ei8_v": { - "encoding": "110001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4000007", - "mask": "0xfc00707f" - }, - "vluxseg8ei8_v": { - "encoding": "111001-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4000007", - "mask": "0xfc00707f" - }, - "vluxei16_v": { - "encoding": "000001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4005007", - "mask": "0xfc00707f" - }, - "vluxseg2ei16_v": { - "encoding": "001001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24005007", - "mask": "0xfc00707f" - }, - "vluxseg3ei16_v": { - "encoding": "010001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x44005007", - "mask": "0xfc00707f" - }, - "vluxseg4ei16_v": { - "encoding": "011001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64005007", - "mask": "0xfc00707f" - }, - "vluxseg5ei16_v": { - "encoding": "100001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84005007", - "mask": "0xfc00707f" - }, - "vluxseg6ei16_v": { - "encoding": "101001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4005007", - "mask": "0xfc00707f" - }, - "vluxseg7ei16_v": { - "encoding": "110001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4005007", - "mask": "0xfc00707f" - }, - "vluxseg8ei16_v": { - "encoding": "111001-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4005007", - "mask": "0xfc00707f" - }, - "vluxei32_v": { - "encoding": "000001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4006007", - "mask": "0xfc00707f" - }, - "vluxseg2ei32_v": { - "encoding": "001001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24006007", - "mask": "0xfc00707f" - }, - "vluxseg3ei32_v": { - "encoding": "010001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x44006007", - "mask": "0xfc00707f" - }, - "vluxseg4ei32_v": { - "encoding": "011001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64006007", - "mask": "0xfc00707f" - }, - "vluxseg5ei32_v": { - "encoding": "100001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84006007", - "mask": "0xfc00707f" - }, - "vluxseg6ei32_v": { - "encoding": "101001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4006007", - "mask": "0xfc00707f" - }, - "vluxseg7ei32_v": { - "encoding": "110001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4006007", - "mask": "0xfc00707f" - }, - "vluxseg8ei32_v": { - "encoding": "111001-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4006007", - "mask": "0xfc00707f" - }, - "vluxei64_v": { - "encoding": "000001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4007007", - "mask": "0xfc00707f" - }, - "vluxseg2ei64_v": { - "encoding": "001001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24007007", - "mask": "0xfc00707f" - }, - "vluxseg3ei64_v": { - "encoding": "010001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x44007007", - "mask": "0xfc00707f" - }, - "vluxseg4ei64_v": { - "encoding": "011001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64007007", - "mask": "0xfc00707f" - }, - "vluxseg5ei64_v": { - "encoding": "100001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84007007", - "mask": "0xfc00707f" - }, - "vluxseg6ei64_v": { - "encoding": "101001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4007007", - "mask": "0xfc00707f" - }, - "vluxseg7ei64_v": { - "encoding": "110001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4007007", - "mask": "0xfc00707f" - }, - "vluxseg8ei64_v": { - "encoding": "111001-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4007007", - "mask": "0xfc00707f" - }, - "vsuxei8_v": { - "encoding": "000001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4000027", - "mask": "0xfc00707f" - }, - "vsuxseg2ei8_v": { - "encoding": "001001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x24000027", - "mask": "0xfc00707f" - }, - "vsuxseg3ei8_v": { - "encoding": "010001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x44000027", - "mask": "0xfc00707f" - }, - "vsuxseg4ei8_v": { - "encoding": "011001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x64000027", - "mask": "0xfc00707f" - }, - "vsuxseg5ei8_v": { - "encoding": "100001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x84000027", - "mask": "0xfc00707f" - }, - "vsuxseg6ei8_v": { - "encoding": "101001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4000027", - "mask": "0xfc00707f" - }, - "vsuxseg7ei8_v": { - "encoding": "110001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4000027", - "mask": "0xfc00707f" - }, - "vsuxseg8ei8_v": { - "encoding": "111001-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4000027", - "mask": "0xfc00707f" - }, - "vsuxei16_v": { - "encoding": "000001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4005027", - "mask": "0xfc00707f" - }, - "vsuxseg2ei16_v": { - "encoding": "001001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x24005027", - "mask": "0xfc00707f" - }, - "vsuxseg3ei16_v": { - "encoding": "010001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x44005027", - "mask": "0xfc00707f" - }, - "vsuxseg4ei16_v": { - "encoding": "011001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x64005027", - "mask": "0xfc00707f" - }, - "vsuxseg5ei16_v": { - "encoding": "100001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x84005027", - "mask": "0xfc00707f" - }, - "vsuxseg6ei16_v": { - "encoding": "101001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4005027", - "mask": "0xfc00707f" - }, - "vsuxseg7ei16_v": { - "encoding": "110001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4005027", - "mask": "0xfc00707f" - }, - "vsuxseg8ei16_v": { - "encoding": "111001-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4005027", - "mask": "0xfc00707f" - }, - "vsuxei32_v": { - "encoding": "000001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4006027", - "mask": "0xfc00707f" - }, - "vsuxseg2ei32_v": { - "encoding": "001001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x24006027", - "mask": "0xfc00707f" - }, - "vsuxseg3ei32_v": { - "encoding": "010001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x44006027", - "mask": "0xfc00707f" - }, - "vsuxseg4ei32_v": { - "encoding": "011001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x64006027", - "mask": "0xfc00707f" - }, - "vsuxseg5ei32_v": { - "encoding": "100001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x84006027", - "mask": "0xfc00707f" - }, - "vsuxseg6ei32_v": { - "encoding": "101001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4006027", - "mask": "0xfc00707f" - }, - "vsuxseg7ei32_v": { - "encoding": "110001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4006027", - "mask": "0xfc00707f" - }, - "vsuxseg8ei32_v": { - "encoding": "111001-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4006027", - "mask": "0xfc00707f" - }, - "vsuxei64_v": { - "encoding": "000001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4007027", - "mask": "0xfc00707f" - }, - "vsuxseg2ei64_v": { - "encoding": "001001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x24007027", - "mask": "0xfc00707f" - }, - "vsuxseg3ei64_v": { - "encoding": "010001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x44007027", - "mask": "0xfc00707f" - }, - "vsuxseg4ei64_v": { - "encoding": "011001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x64007027", - "mask": "0xfc00707f" - }, - "vsuxseg5ei64_v": { - "encoding": "100001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x84007027", - "mask": "0xfc00707f" - }, - "vsuxseg6ei64_v": { - "encoding": "101001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4007027", - "mask": "0xfc00707f" - }, - "vsuxseg7ei64_v": { - "encoding": "110001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4007027", - "mask": "0xfc00707f" - }, - "vsuxseg8ei64_v": { - "encoding": "111001-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe4007027", - "mask": "0xfc00707f" - }, - "vlse8_v": { - "encoding": "000010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8000007", - "mask": "0xfc00707f" - }, - "vlsseg2e8_v": { - "encoding": "001010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28000007", - "mask": "0xfc00707f" - }, - "vlsseg3e8_v": { - "encoding": "010010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48000007", - "mask": "0xfc00707f" - }, - "vlsseg4e8_v": { - "encoding": "011010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x68000007", - "mask": "0xfc00707f" - }, - "vlsseg5e8_v": { - "encoding": "100010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88000007", - "mask": "0xfc00707f" - }, - "vlsseg6e8_v": { - "encoding": "101010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8000007", - "mask": "0xfc00707f" - }, - "vlsseg7e8_v": { - "encoding": "110010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8000007", - "mask": "0xfc00707f" - }, - "vlsseg8e8_v": { - "encoding": "111010-----------000-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8000007", - "mask": "0xfc00707f" - }, - "vlse16_v": { - "encoding": "000010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8005007", - "mask": "0xfc00707f" - }, - "vlsseg2e16_v": { - "encoding": "001010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28005007", - "mask": "0xfc00707f" - }, - "vlsseg3e16_v": { - "encoding": "010010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48005007", - "mask": "0xfc00707f" - }, - "vlsseg4e16_v": { - "encoding": "011010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x68005007", - "mask": "0xfc00707f" - }, - "vlsseg5e16_v": { - "encoding": "100010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88005007", - "mask": "0xfc00707f" - }, - "vlsseg6e16_v": { - "encoding": "101010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8005007", - "mask": "0xfc00707f" - }, - "vlsseg7e16_v": { - "encoding": "110010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8005007", - "mask": "0xfc00707f" - }, - "vlsseg8e16_v": { - "encoding": "111010-----------101-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8005007", - "mask": "0xfc00707f" - }, - "vlse32_v": { - "encoding": "000010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8006007", - "mask": "0xfc00707f" - }, - "vlsseg2e32_v": { - "encoding": "001010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28006007", - "mask": "0xfc00707f" - }, - "vlsseg3e32_v": { - "encoding": "010010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48006007", - "mask": "0xfc00707f" - }, - "vlsseg4e32_v": { - "encoding": "011010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x68006007", - "mask": "0xfc00707f" - }, - "vlsseg5e32_v": { - "encoding": "100010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88006007", - "mask": "0xfc00707f" - }, - "vlsseg6e32_v": { - "encoding": "101010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8006007", - "mask": "0xfc00707f" - }, - "vlsseg7e32_v": { - "encoding": "110010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8006007", - "mask": "0xfc00707f" - }, - "vlsseg8e32_v": { - "encoding": "111010-----------110-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8006007", - "mask": "0xfc00707f" - }, - "vlse64_v": { - "encoding": "000010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8007007", - "mask": "0xfc00707f" - }, - "vlsseg2e64_v": { - "encoding": "001010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28007007", - "mask": "0xfc00707f" - }, - "vlsseg3e64_v": { - "encoding": "010010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48007007", - "mask": "0xfc00707f" - }, - "vlsseg4e64_v": { - "encoding": "011010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x68007007", - "mask": "0xfc00707f" - }, - "vlsseg5e64_v": { - "encoding": "100010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88007007", - "mask": "0xfc00707f" - }, - "vlsseg6e64_v": { - "encoding": "101010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8007007", - "mask": "0xfc00707f" - }, - "vlsseg7e64_v": { - "encoding": "110010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8007007", - "mask": "0xfc00707f" - }, - "vlsseg8e64_v": { - "encoding": "111010-----------111-----0000111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8007007", - "mask": "0xfc00707f" - }, - "vsse8_v": { - "encoding": "000010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8000027", - "mask": "0xfc00707f" - }, - "vssseg2e8_v": { - "encoding": "001010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x28000027", - "mask": "0xfc00707f" - }, - "vssseg3e8_v": { - "encoding": "010010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x48000027", - "mask": "0xfc00707f" - }, - "vssseg4e8_v": { - "encoding": "011010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x68000027", - "mask": "0xfc00707f" - }, - "vssseg5e8_v": { - "encoding": "100010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x88000027", - "mask": "0xfc00707f" - }, - "vssseg6e8_v": { - "encoding": "101010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8000027", - "mask": "0xfc00707f" - }, - "vssseg7e8_v": { - "encoding": "110010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8000027", - "mask": "0xfc00707f" - }, - "vssseg8e8_v": { - "encoding": "111010-----------000-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8000027", - "mask": "0xfc00707f" - }, - "vsse16_v": { - "encoding": "000010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8005027", - "mask": "0xfc00707f" - }, - "vssseg2e16_v": { - "encoding": "001010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x28005027", - "mask": "0xfc00707f" - }, - "vssseg3e16_v": { - "encoding": "010010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x48005027", - "mask": "0xfc00707f" - }, - "vssseg4e16_v": { - "encoding": "011010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x68005027", - "mask": "0xfc00707f" - }, - "vssseg5e16_v": { - "encoding": "100010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x88005027", - "mask": "0xfc00707f" - }, - "vssseg6e16_v": { - "encoding": "101010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8005027", - "mask": "0xfc00707f" - }, - "vssseg7e16_v": { - "encoding": "110010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8005027", - "mask": "0xfc00707f" - }, - "vssseg8e16_v": { - "encoding": "111010-----------101-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8005027", - "mask": "0xfc00707f" - }, - "vsse32_v": { - "encoding": "000010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8006027", - "mask": "0xfc00707f" - }, - "vssseg2e32_v": { - "encoding": "001010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x28006027", - "mask": "0xfc00707f" - }, - "vssseg3e32_v": { - "encoding": "010010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x48006027", - "mask": "0xfc00707f" - }, - "vssseg4e32_v": { - "encoding": "011010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x68006027", - "mask": "0xfc00707f" - }, - "vssseg5e32_v": { - "encoding": "100010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x88006027", - "mask": "0xfc00707f" - }, - "vssseg6e32_v": { - "encoding": "101010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8006027", - "mask": "0xfc00707f" - }, - "vssseg7e32_v": { - "encoding": "110010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8006027", - "mask": "0xfc00707f" - }, - "vssseg8e32_v": { - "encoding": "111010-----------110-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8006027", - "mask": "0xfc00707f" - }, - "vsse64_v": { - "encoding": "000010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8007027", - "mask": "0xfc00707f" - }, - "vssseg2e64_v": { - "encoding": "001010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x28007027", - "mask": "0xfc00707f" - }, - "vssseg3e64_v": { - "encoding": "010010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x48007027", - "mask": "0xfc00707f" - }, - "vssseg4e64_v": { - "encoding": "011010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x68007027", - "mask": "0xfc00707f" - }, - "vssseg5e64_v": { - "encoding": "100010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x88007027", - "mask": "0xfc00707f" - }, - "vssseg6e64_v": { - "encoding": "101010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8007027", - "mask": "0xfc00707f" - }, - "vssseg7e64_v": { - "encoding": "110010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8007027", - "mask": "0xfc00707f" - }, - "vssseg8e64_v": { - "encoding": "111010-----------111-----0100111", - "variable_fields": [ - "vm", - "rs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8007027", - "mask": "0xfc00707f" - }, - "vloxei8_v": { - "encoding": "000011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc000007", - "mask": "0xfc00707f" - }, - "vloxseg2ei8_v": { - "encoding": "001011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c000007", - "mask": "0xfc00707f" - }, - "vloxseg3ei8_v": { - "encoding": "010011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c000007", - "mask": "0xfc00707f" - }, - "vloxseg4ei8_v": { - "encoding": "011011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c000007", - "mask": "0xfc00707f" - }, - "vloxseg5ei8_v": { - "encoding": "100011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c000007", - "mask": "0xfc00707f" - }, - "vloxseg6ei8_v": { - "encoding": "101011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac000007", - "mask": "0xfc00707f" - }, - "vloxseg7ei8_v": { - "encoding": "110011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc000007", - "mask": "0xfc00707f" - }, - "vloxseg8ei8_v": { - "encoding": "111011-----------000-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xec000007", - "mask": "0xfc00707f" - }, - "vloxei16_v": { - "encoding": "000011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc005007", - "mask": "0xfc00707f" - }, - "vloxseg2ei16_v": { - "encoding": "001011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c005007", - "mask": "0xfc00707f" - }, - "vloxseg3ei16_v": { - "encoding": "010011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c005007", - "mask": "0xfc00707f" - }, - "vloxseg4ei16_v": { - "encoding": "011011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c005007", - "mask": "0xfc00707f" - }, - "vloxseg5ei16_v": { - "encoding": "100011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c005007", - "mask": "0xfc00707f" - }, - "vloxseg6ei16_v": { - "encoding": "101011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac005007", - "mask": "0xfc00707f" - }, - "vloxseg7ei16_v": { - "encoding": "110011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc005007", - "mask": "0xfc00707f" - }, - "vloxseg8ei16_v": { - "encoding": "111011-----------101-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xec005007", - "mask": "0xfc00707f" - }, - "vloxei32_v": { - "encoding": "000011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc006007", - "mask": "0xfc00707f" - }, - "vloxseg2ei32_v": { - "encoding": "001011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c006007", - "mask": "0xfc00707f" - }, - "vloxseg3ei32_v": { - "encoding": "010011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c006007", - "mask": "0xfc00707f" - }, - "vloxseg4ei32_v": { - "encoding": "011011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c006007", - "mask": "0xfc00707f" - }, - "vloxseg5ei32_v": { - "encoding": "100011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c006007", - "mask": "0xfc00707f" - }, - "vloxseg6ei32_v": { - "encoding": "101011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac006007", - "mask": "0xfc00707f" - }, - "vloxseg7ei32_v": { - "encoding": "110011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc006007", - "mask": "0xfc00707f" - }, - "vloxseg8ei32_v": { - "encoding": "111011-----------110-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xec006007", - "mask": "0xfc00707f" - }, - "vloxei64_v": { - "encoding": "000011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc007007", - "mask": "0xfc00707f" - }, - "vloxseg2ei64_v": { - "encoding": "001011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c007007", - "mask": "0xfc00707f" - }, - "vloxseg3ei64_v": { - "encoding": "010011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c007007", - "mask": "0xfc00707f" - }, - "vloxseg4ei64_v": { - "encoding": "011011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c007007", - "mask": "0xfc00707f" - }, - "vloxseg5ei64_v": { - "encoding": "100011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c007007", - "mask": "0xfc00707f" - }, - "vloxseg6ei64_v": { - "encoding": "101011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac007007", - "mask": "0xfc00707f" - }, - "vloxseg7ei64_v": { - "encoding": "110011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc007007", - "mask": "0xfc00707f" - }, - "vloxseg8ei64_v": { - "encoding": "111011-----------111-----0000111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xec007007", - "mask": "0xfc00707f" - }, - "vsoxei8_v": { - "encoding": "000011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc000027", - "mask": "0xfc00707f" - }, - "vsoxseg2ei8_v": { - "encoding": "001011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c000027", - "mask": "0xfc00707f" - }, - "vsoxseg3ei8_v": { - "encoding": "010011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c000027", - "mask": "0xfc00707f" - }, - "vsoxseg4ei8_v": { - "encoding": "011011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c000027", - "mask": "0xfc00707f" - }, - "vsoxseg5ei8_v": { - "encoding": "100011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c000027", - "mask": "0xfc00707f" - }, - "vsoxseg6ei8_v": { - "encoding": "101011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xac000027", - "mask": "0xfc00707f" - }, - "vsoxseg7ei8_v": { - "encoding": "110011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc000027", - "mask": "0xfc00707f" - }, - "vsoxseg8ei8_v": { - "encoding": "111011-----------000-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xec000027", - "mask": "0xfc00707f" - }, - "vsoxei16_v": { - "encoding": "000011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc005027", - "mask": "0xfc00707f" - }, - "vsoxseg2ei16_v": { - "encoding": "001011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c005027", - "mask": "0xfc00707f" - }, - "vsoxseg3ei16_v": { - "encoding": "010011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c005027", - "mask": "0xfc00707f" - }, - "vsoxseg4ei16_v": { - "encoding": "011011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c005027", - "mask": "0xfc00707f" - }, - "vsoxseg5ei16_v": { - "encoding": "100011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c005027", - "mask": "0xfc00707f" - }, - "vsoxseg6ei16_v": { - "encoding": "101011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xac005027", - "mask": "0xfc00707f" - }, - "vsoxseg7ei16_v": { - "encoding": "110011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc005027", - "mask": "0xfc00707f" - }, - "vsoxseg8ei16_v": { - "encoding": "111011-----------101-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xec005027", - "mask": "0xfc00707f" - }, - "vsoxei32_v": { - "encoding": "000011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc006027", - "mask": "0xfc00707f" - }, - "vsoxseg2ei32_v": { - "encoding": "001011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c006027", - "mask": "0xfc00707f" - }, - "vsoxseg3ei32_v": { - "encoding": "010011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c006027", - "mask": "0xfc00707f" - }, - "vsoxseg4ei32_v": { - "encoding": "011011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c006027", - "mask": "0xfc00707f" - }, - "vsoxseg5ei32_v": { - "encoding": "100011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c006027", - "mask": "0xfc00707f" - }, - "vsoxseg6ei32_v": { - "encoding": "101011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xac006027", - "mask": "0xfc00707f" - }, - "vsoxseg7ei32_v": { - "encoding": "110011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc006027", - "mask": "0xfc00707f" - }, - "vsoxseg8ei32_v": { - "encoding": "111011-----------110-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xec006027", - "mask": "0xfc00707f" - }, - "vsoxei64_v": { - "encoding": "000011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xc007027", - "mask": "0xfc00707f" - }, - "vsoxseg2ei64_v": { - "encoding": "001011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c007027", - "mask": "0xfc00707f" - }, - "vsoxseg3ei64_v": { - "encoding": "010011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c007027", - "mask": "0xfc00707f" - }, - "vsoxseg4ei64_v": { - "encoding": "011011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c007027", - "mask": "0xfc00707f" - }, - "vsoxseg5ei64_v": { - "encoding": "100011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c007027", - "mask": "0xfc00707f" - }, - "vsoxseg6ei64_v": { - "encoding": "101011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xac007027", - "mask": "0xfc00707f" - }, - "vsoxseg7ei64_v": { - "encoding": "110011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc007027", - "mask": "0xfc00707f" - }, - "vsoxseg8ei64_v": { - "encoding": "111011-----------111-----0100111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xec007027", - "mask": "0xfc00707f" - }, - "vle8ff_v": { - "encoding": "000000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1000007", - "mask": "0xfdf0707f" - }, - "vlseg2e8ff_v": { - "encoding": "001000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x21000007", - "mask": "0xfdf0707f" - }, - "vlseg3e8ff_v": { - "encoding": "010000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x41000007", - "mask": "0xfdf0707f" - }, - "vlseg4e8ff_v": { - "encoding": "011000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x61000007", - "mask": "0xfdf0707f" - }, - "vlseg5e8ff_v": { - "encoding": "100000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x81000007", - "mask": "0xfdf0707f" - }, - "vlseg6e8ff_v": { - "encoding": "101000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa1000007", - "mask": "0xfdf0707f" - }, - "vlseg7e8ff_v": { - "encoding": "110000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc1000007", - "mask": "0xfdf0707f" - }, - "vlseg8e8ff_v": { - "encoding": "111000-10000-----000-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe1000007", - "mask": "0xfdf0707f" - }, - "vle16ff_v": { - "encoding": "000000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1005007", - "mask": "0xfdf0707f" - }, - "vlseg2e16ff_v": { - "encoding": "001000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x21005007", - "mask": "0xfdf0707f" - }, - "vlseg3e16ff_v": { - "encoding": "010000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x41005007", - "mask": "0xfdf0707f" - }, - "vlseg4e16ff_v": { - "encoding": "011000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x61005007", - "mask": "0xfdf0707f" - }, - "vlseg5e16ff_v": { - "encoding": "100000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x81005007", - "mask": "0xfdf0707f" - }, - "vlseg6e16ff_v": { - "encoding": "101000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa1005007", - "mask": "0xfdf0707f" - }, - "vlseg7e16ff_v": { - "encoding": "110000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc1005007", - "mask": "0xfdf0707f" - }, - "vlseg8e16ff_v": { - "encoding": "111000-10000-----101-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe1005007", - "mask": "0xfdf0707f" - }, - "vle32ff_v": { - "encoding": "000000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1006007", - "mask": "0xfdf0707f" - }, - "vlseg2e32ff_v": { - "encoding": "001000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x21006007", - "mask": "0xfdf0707f" - }, - "vlseg3e32ff_v": { - "encoding": "010000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x41006007", - "mask": "0xfdf0707f" - }, - "vlseg4e32ff_v": { - "encoding": "011000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x61006007", - "mask": "0xfdf0707f" - }, - "vlseg5e32ff_v": { - "encoding": "100000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x81006007", - "mask": "0xfdf0707f" - }, - "vlseg6e32ff_v": { - "encoding": "101000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa1006007", - "mask": "0xfdf0707f" - }, - "vlseg7e32ff_v": { - "encoding": "110000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc1006007", - "mask": "0xfdf0707f" - }, - "vlseg8e32ff_v": { - "encoding": "111000-10000-----110-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe1006007", - "mask": "0xfdf0707f" - }, - "vle64ff_v": { - "encoding": "000000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1007007", - "mask": "0xfdf0707f" - }, - "vlseg2e64ff_v": { - "encoding": "001000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x21007007", - "mask": "0xfdf0707f" - }, - "vlseg3e64ff_v": { - "encoding": "010000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x41007007", - "mask": "0xfdf0707f" - }, - "vlseg4e64ff_v": { - "encoding": "011000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x61007007", - "mask": "0xfdf0707f" - }, - "vlseg5e64ff_v": { - "encoding": "100000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x81007007", - "mask": "0xfdf0707f" - }, - "vlseg6e64ff_v": { - "encoding": "101000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa1007007", - "mask": "0xfdf0707f" - }, - "vlseg7e64ff_v": { - "encoding": "110000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc1007007", - "mask": "0xfdf0707f" - }, - "vlseg8e64ff_v": { - "encoding": "111000-10000-----111-----0000111", - "variable_fields": [ - "vm", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe1007007", - "mask": "0xfdf0707f" - }, - "vl1re8_v": { - "encoding": "000000101000-----000-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2800007", - "mask": "0xfff0707f" - }, - "vl1re16_v": { - "encoding": "000000101000-----101-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2805007", - "mask": "0xfff0707f" - }, - "vl1re32_v": { - "encoding": "000000101000-----110-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2806007", - "mask": "0xfff0707f" - }, - "vl1re64_v": { - "encoding": "000000101000-----111-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2807007", - "mask": "0xfff0707f" - }, - "vl2re8_v": { - "encoding": "001000101000-----000-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x22800007", - "mask": "0xfff0707f" - }, - "vl2re16_v": { - "encoding": "001000101000-----101-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x22805007", - "mask": "0xfff0707f" - }, - "vl2re32_v": { - "encoding": "001000101000-----110-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x22806007", - "mask": "0xfff0707f" - }, - "vl2re64_v": { - "encoding": "001000101000-----111-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x22807007", - "mask": "0xfff0707f" - }, - "vl4re8_v": { - "encoding": "011000101000-----000-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x62800007", - "mask": "0xfff0707f" - }, - "vl4re16_v": { - "encoding": "011000101000-----101-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x62805007", - "mask": "0xfff0707f" - }, - "vl4re32_v": { - "encoding": "011000101000-----110-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x62806007", - "mask": "0xfff0707f" - }, - "vl4re64_v": { - "encoding": "011000101000-----111-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x62807007", - "mask": "0xfff0707f" - }, - "vl8re8_v": { - "encoding": "111000101000-----000-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe2800007", - "mask": "0xfff0707f" - }, - "vl8re16_v": { - "encoding": "111000101000-----101-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe2805007", - "mask": "0xfff0707f" - }, - "vl8re32_v": { - "encoding": "111000101000-----110-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe2806007", - "mask": "0xfff0707f" - }, - "vl8re64_v": { - "encoding": "111000101000-----111-----0000111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe2807007", - "mask": "0xfff0707f" - }, - "vs1r_v": { - "encoding": "000000101000-----000-----0100111", - "variable_fields": [ - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x2800027", - "mask": "0xfff0707f" - }, - "vs2r_v": { - "encoding": "001000101000-----000-----0100111", - "variable_fields": [ - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x22800027", - "mask": "0xfff0707f" - }, - "vs4r_v": { - "encoding": "011000101000-----000-----0100111", - "variable_fields": [ - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0x62800027", - "mask": "0xfff0707f" - }, - "vs8r_v": { - "encoding": "111000101000-----000-----0100111", - "variable_fields": [ - "rs1", - "vs3" - ], - "extension": [ - "rv_v" - ], - "match": "0xe2800027", - "mask": "0xfff0707f" - }, - "vfadd_vf": { - "encoding": "000000-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5057", - "mask": "0xfc00707f" - }, - "vfsub_vf": { - "encoding": "000010-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8005057", - "mask": "0xfc00707f" - }, - "vfmin_vf": { - "encoding": "000100-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x10005057", - "mask": "0xfc00707f" - }, - "vfmax_vf": { - "encoding": "000110-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x18005057", - "mask": "0xfc00707f" - }, - "vfsgnj_vf": { - "encoding": "001000-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20005057", - "mask": "0xfc00707f" - }, - "vfsgnjn_vf": { - "encoding": "001001-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24005057", - "mask": "0xfc00707f" - }, - "vfsgnjx_vf": { - "encoding": "001010-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28005057", - "mask": "0xfc00707f" - }, - "vfslide1up_vf": { - "encoding": "001110-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x38005057", - "mask": "0xfc00707f" - }, - "vfslide1down_vf": { - "encoding": "001111-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x3c005057", - "mask": "0xfc00707f" - }, - "vfmv_s_f": { - "encoding": "010000100000-----101-----1010111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x42005057", - "mask": "0xfff0707f" - }, - "vfmerge_vfm": { - "encoding": "0101110----------101-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5c005057", - "mask": "0xfe00707f" - }, - "vfmv_v_f": { - "encoding": "010111100000-----101-----1010111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5e005057", - "mask": "0xfff0707f" - }, - "vmfeq_vf": { - "encoding": "011000-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60005057", - "mask": "0xfc00707f" - }, - "vmfle_vf": { - "encoding": "011001-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64005057", - "mask": "0xfc00707f" - }, - "vmflt_vf": { - "encoding": "011011-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c005057", - "mask": "0xfc00707f" - }, - "vmfne_vf": { - "encoding": "011100-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x70005057", - "mask": "0xfc00707f" - }, - "vmfgt_vf": { - "encoding": "011101-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x74005057", - "mask": "0xfc00707f" - }, - "vmfge_vf": { - "encoding": "011111-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7c005057", - "mask": "0xfc00707f" - }, - "vfdiv_vf": { - "encoding": "100000-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80005057", - "mask": "0xfc00707f" - }, - "vfrdiv_vf": { - "encoding": "100001-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84005057", - "mask": "0xfc00707f" - }, - "vfmul_vf": { - "encoding": "100100-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x90005057", - "mask": "0xfc00707f" - }, - "vfrsub_vf": { - "encoding": "100111-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9c005057", - "mask": "0xfc00707f" - }, - "vfmadd_vf": { - "encoding": "101000-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0005057", - "mask": "0xfc00707f" - }, - "vfnmadd_vf": { - "encoding": "101001-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4005057", - "mask": "0xfc00707f" - }, - "vfmsub_vf": { - "encoding": "101010-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8005057", - "mask": "0xfc00707f" - }, - "vfnmsub_vf": { - "encoding": "101011-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac005057", - "mask": "0xfc00707f" - }, - "vfmacc_vf": { - "encoding": "101100-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb0005057", - "mask": "0xfc00707f" - }, - "vfnmacc_vf": { - "encoding": "101101-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb4005057", - "mask": "0xfc00707f" - }, - "vfmsac_vf": { - "encoding": "101110-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb8005057", - "mask": "0xfc00707f" - }, - "vfnmsac_vf": { - "encoding": "101111-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xbc005057", - "mask": "0xfc00707f" - }, - "vfwadd_vf": { - "encoding": "110000-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0005057", - "mask": "0xfc00707f" - }, - "vfwsub_vf": { - "encoding": "110010-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8005057", - "mask": "0xfc00707f" - }, - "vfwadd_wf": { - "encoding": "110100-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd0005057", - "mask": "0xfc00707f" - }, - "vfwsub_wf": { - "encoding": "110110-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd8005057", - "mask": "0xfc00707f" - }, - "vfwmul_vf": { - "encoding": "111000-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0005057", - "mask": "0xfc00707f" - }, - "vfwmacc_vf": { - "encoding": "111100-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf0005057", - "mask": "0xfc00707f" - }, - "vfwnmacc_vf": { - "encoding": "111101-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf4005057", - "mask": "0xfc00707f" - }, - "vfwmsac_vf": { - "encoding": "111110-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf8005057", - "mask": "0xfc00707f" - }, - "vfwnmsac_vf": { - "encoding": "111111-----------101-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xfc005057", - "mask": "0xfc00707f" - }, - "vfadd_vv": { - "encoding": "000000-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1057", - "mask": "0xfc00707f" - }, - "vfredusum_vs": { - "encoding": "000001-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4001057", - "mask": "0xfc00707f" - }, - "vfsub_vv": { - "encoding": "000010-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8001057", - "mask": "0xfc00707f" - }, - "vfredosum_vs": { - "encoding": "000011-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc001057", - "mask": "0xfc00707f" - }, - "vfmin_vv": { - "encoding": "000100-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x10001057", - "mask": "0xfc00707f" - }, - "vfredmin_vs": { - "encoding": "000101-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x14001057", - "mask": "0xfc00707f" - }, - "vfmax_vv": { - "encoding": "000110-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x18001057", - "mask": "0xfc00707f" - }, - "vfredmax_vs": { - "encoding": "000111-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1c001057", - "mask": "0xfc00707f" - }, - "vfsgnj_vv": { - "encoding": "001000-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20001057", - "mask": "0xfc00707f" - }, - "vfsgnjn_vv": { - "encoding": "001001-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24001057", - "mask": "0xfc00707f" - }, - "vfsgnjx_vv": { - "encoding": "001010-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28001057", - "mask": "0xfc00707f" - }, - "vfmv_f_s": { - "encoding": "0100001-----00000001-----1010111", - "variable_fields": [ - "vs2", - "rd" - ], - "extension": [ - "rv_v" - ], - "match": "0x42001057", - "mask": "0xfe0ff07f" - }, - "vmfeq_vv": { - "encoding": "011000-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60001057", - "mask": "0xfc00707f" - }, - "vmfle_vv": { - "encoding": "011001-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64001057", - "mask": "0xfc00707f" - }, - "vmflt_vv": { - "encoding": "011011-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c001057", - "mask": "0xfc00707f" - }, - "vmfne_vv": { - "encoding": "011100-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x70001057", - "mask": "0xfc00707f" - }, - "vfdiv_vv": { - "encoding": "100000-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80001057", - "mask": "0xfc00707f" - }, - "vfmul_vv": { - "encoding": "100100-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x90001057", - "mask": "0xfc00707f" - }, - "vfmadd_vv": { - "encoding": "101000-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0001057", - "mask": "0xfc00707f" - }, - "vfnmadd_vv": { - "encoding": "101001-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4001057", - "mask": "0xfc00707f" - }, - "vfmsub_vv": { - "encoding": "101010-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8001057", - "mask": "0xfc00707f" - }, - "vfnmsub_vv": { - "encoding": "101011-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac001057", - "mask": "0xfc00707f" - }, - "vfmacc_vv": { - "encoding": "101100-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb0001057", - "mask": "0xfc00707f" - }, - "vfnmacc_vv": { - "encoding": "101101-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb4001057", - "mask": "0xfc00707f" - }, - "vfmsac_vv": { - "encoding": "101110-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb8001057", - "mask": "0xfc00707f" - }, - "vfnmsac_vv": { - "encoding": "101111-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xbc001057", - "mask": "0xfc00707f" - }, - "vfcvt_xu_f_v": { - "encoding": "010010------00000001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48001057", - "mask": "0xfc0ff07f" - }, - "vfcvt_x_f_v": { - "encoding": "010010------00001001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48009057", - "mask": "0xfc0ff07f" - }, - "vfcvt_f_xu_v": { - "encoding": "010010------00010001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48011057", - "mask": "0xfc0ff07f" - }, - "vfcvt_f_x_v": { - "encoding": "010010------00011001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48019057", - "mask": "0xfc0ff07f" - }, - "vfcvt_rtz_xu_f_v": { - "encoding": "010010------00110001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48031057", - "mask": "0xfc0ff07f" - }, - "vfcvt_rtz_x_f_v": { - "encoding": "010010------00111001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48039057", - "mask": "0xfc0ff07f" - }, - "vfwcvt_xu_f_v": { - "encoding": "010010------01000001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48041057", - "mask": "0xfc0ff07f" - }, - "vfwcvt_x_f_v": { - "encoding": "010010------01001001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48049057", - "mask": "0xfc0ff07f" - }, - "vfwcvt_f_xu_v": { - "encoding": "010010------01010001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48051057", - "mask": "0xfc0ff07f" - }, - "vfwcvt_f_x_v": { - "encoding": "010010------01011001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48059057", - "mask": "0xfc0ff07f" - }, - "vfwcvt_f_f_v": { - "encoding": "010010------01100001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48061057", - "mask": "0xfc0ff07f" - }, - "vfwcvt_rtz_xu_f_v": { - "encoding": "010010------01110001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48071057", - "mask": "0xfc0ff07f" - }, - "vfwcvt_rtz_x_f_v": { - "encoding": "010010------01111001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48079057", - "mask": "0xfc0ff07f" - }, - "vfncvt_xu_f_w": { - "encoding": "010010------10000001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48081057", - "mask": "0xfc0ff07f" - }, - "vfncvt_x_f_w": { - "encoding": "010010------10001001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48089057", - "mask": "0xfc0ff07f" - }, - "vfncvt_f_xu_w": { - "encoding": "010010------10010001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48091057", - "mask": "0xfc0ff07f" - }, - "vfncvt_f_x_w": { - "encoding": "010010------10011001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48099057", - "mask": "0xfc0ff07f" - }, - "vfncvt_f_f_w": { - "encoding": "010010------10100001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x480a1057", - "mask": "0xfc0ff07f" - }, - "vfncvt_rod_f_f_w": { - "encoding": "010010------10101001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x480a9057", - "mask": "0xfc0ff07f" - }, - "vfncvt_rtz_xu_f_w": { - "encoding": "010010------10110001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x480b1057", - "mask": "0xfc0ff07f" - }, - "vfncvt_rtz_x_f_w": { - "encoding": "010010------10111001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x480b9057", - "mask": "0xfc0ff07f" - }, - "vfsqrt_v": { - "encoding": "010011------00000001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c001057", - "mask": "0xfc0ff07f" - }, - "vfrsqrt7_v": { - "encoding": "010011------00100001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c021057", - "mask": "0xfc0ff07f" - }, - "vfrec7_v": { - "encoding": "010011------00101001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c029057", - "mask": "0xfc0ff07f" - }, - "vfclass_v": { - "encoding": "010011------10000001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c081057", - "mask": "0xfc0ff07f" - }, - "vfwadd_vv": { - "encoding": "110000-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0001057", - "mask": "0xfc00707f" - }, - "vfwredusum_vs": { - "encoding": "110001-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4001057", - "mask": "0xfc00707f" - }, - "vfwsub_vv": { - "encoding": "110010-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8001057", - "mask": "0xfc00707f" - }, - "vfwredosum_vs": { - "encoding": "110011-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc001057", - "mask": "0xfc00707f" - }, - "vfwadd_wv": { - "encoding": "110100-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd0001057", - "mask": "0xfc00707f" - }, - "vfwsub_wv": { - "encoding": "110110-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd8001057", - "mask": "0xfc00707f" - }, - "vfwmul_vv": { - "encoding": "111000-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0001057", - "mask": "0xfc00707f" - }, - "vfwmacc_vv": { - "encoding": "111100-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf0001057", - "mask": "0xfc00707f" - }, - "vfwnmacc_vv": { - "encoding": "111101-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf4001057", - "mask": "0xfc00707f" - }, - "vfwmsac_vv": { - "encoding": "111110-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf8001057", - "mask": "0xfc00707f" - }, - "vfwnmsac_vv": { - "encoding": "111111-----------001-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xfc001057", - "mask": "0xfc00707f" - }, - "vadd_vx": { - "encoding": "000000-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4057", - "mask": "0xfc00707f" - }, - "vsub_vx": { - "encoding": "000010-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8004057", - "mask": "0xfc00707f" - }, - "vrsub_vx": { - "encoding": "000011-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc004057", - "mask": "0xfc00707f" - }, - "vminu_vx": { - "encoding": "000100-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x10004057", - "mask": "0xfc00707f" - }, - "vmin_vx": { - "encoding": "000101-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x14004057", - "mask": "0xfc00707f" - }, - "vmaxu_vx": { - "encoding": "000110-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x18004057", - "mask": "0xfc00707f" - }, - "vmax_vx": { - "encoding": "000111-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1c004057", - "mask": "0xfc00707f" - }, - "vand_vx": { - "encoding": "001001-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24004057", - "mask": "0xfc00707f" - }, - "vor_vx": { - "encoding": "001010-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28004057", - "mask": "0xfc00707f" - }, - "vxor_vx": { - "encoding": "001011-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c004057", - "mask": "0xfc00707f" - }, - "vrgather_vx": { - "encoding": "001100-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x30004057", - "mask": "0xfc00707f" - }, - "vslideup_vx": { - "encoding": "001110-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x38004057", - "mask": "0xfc00707f" - }, - "vslidedown_vx": { - "encoding": "001111-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x3c004057", - "mask": "0xfc00707f" - }, - "vadc_vxm": { - "encoding": "0100000----------100-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40004057", - "mask": "0xfe00707f" - }, - "vmadc_vxm": { - "encoding": "0100010----------100-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x44004057", - "mask": "0xfe00707f" - }, - "vmadc_vx": { - "encoding": "0100011----------100-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x46004057", - "mask": "0xfe00707f" - }, - "vsbc_vxm": { - "encoding": "0100100----------100-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48004057", - "mask": "0xfe00707f" - }, - "vmsbc_vxm": { - "encoding": "0100110----------100-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c004057", - "mask": "0xfe00707f" - }, - "vmsbc_vx": { - "encoding": "0100111----------100-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4e004057", - "mask": "0xfe00707f" - }, - "vmerge_vxm": { - "encoding": "0101110----------100-----1010111", - "variable_fields": [ - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5c004057", - "mask": "0xfe00707f" - }, - "vmv_v_x": { - "encoding": "010111100000-----100-----1010111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5e004057", - "mask": "0xfff0707f" - }, - "vmseq_vx": { - "encoding": "011000-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60004057", - "mask": "0xfc00707f" - }, - "vmsne_vx": { - "encoding": "011001-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64004057", - "mask": "0xfc00707f" - }, - "vmsltu_vx": { - "encoding": "011010-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x68004057", - "mask": "0xfc00707f" - }, - "vmslt_vx": { - "encoding": "011011-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c004057", - "mask": "0xfc00707f" - }, - "vmsleu_vx": { - "encoding": "011100-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x70004057", - "mask": "0xfc00707f" - }, - "vmsle_vx": { - "encoding": "011101-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x74004057", - "mask": "0xfc00707f" - }, - "vmsgtu_vx": { - "encoding": "011110-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x78004057", - "mask": "0xfc00707f" - }, - "vmsgt_vx": { - "encoding": "011111-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7c004057", - "mask": "0xfc00707f" - }, - "vsaddu_vx": { - "encoding": "100000-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80004057", - "mask": "0xfc00707f" - }, - "vsadd_vx": { - "encoding": "100001-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84004057", - "mask": "0xfc00707f" - }, - "vssubu_vx": { - "encoding": "100010-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88004057", - "mask": "0xfc00707f" - }, - "vssub_vx": { - "encoding": "100011-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c004057", - "mask": "0xfc00707f" - }, - "vsll_vx": { - "encoding": "100101-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x94004057", - "mask": "0xfc00707f" - }, - "vsmul_vx": { - "encoding": "100111-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9c004057", - "mask": "0xfc00707f" - }, - "vsrl_vx": { - "encoding": "101000-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0004057", - "mask": "0xfc00707f" - }, - "vsra_vx": { - "encoding": "101001-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4004057", - "mask": "0xfc00707f" - }, - "vssrl_vx": { - "encoding": "101010-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8004057", - "mask": "0xfc00707f" - }, - "vssra_vx": { - "encoding": "101011-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac004057", - "mask": "0xfc00707f" - }, - "vnsrl_wx": { - "encoding": "101100-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb0004057", - "mask": "0xfc00707f" - }, - "vnsra_wx": { - "encoding": "101101-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb4004057", - "mask": "0xfc00707f" - }, - "vnclipu_wx": { - "encoding": "101110-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb8004057", - "mask": "0xfc00707f" - }, - "vnclip_wx": { - "encoding": "101111-----------100-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xbc004057", - "mask": "0xfc00707f" - }, - "vadd_vv": { - "encoding": "000000-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x57", - "mask": "0xfc00707f" - }, - "vsub_vv": { - "encoding": "000010-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8000057", - "mask": "0xfc00707f" - }, - "vminu_vv": { - "encoding": "000100-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x10000057", - "mask": "0xfc00707f" - }, - "vmin_vv": { - "encoding": "000101-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x14000057", - "mask": "0xfc00707f" - }, - "vmaxu_vv": { - "encoding": "000110-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x18000057", - "mask": "0xfc00707f" - }, - "vmax_vv": { - "encoding": "000111-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1c000057", - "mask": "0xfc00707f" - }, - "vand_vv": { - "encoding": "001001-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24000057", - "mask": "0xfc00707f" - }, - "vor_vv": { - "encoding": "001010-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28000057", - "mask": "0xfc00707f" - }, - "vxor_vv": { - "encoding": "001011-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c000057", - "mask": "0xfc00707f" - }, - "vrgather_vv": { - "encoding": "001100-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x30000057", - "mask": "0xfc00707f" - }, - "vrgatherei16_vv": { - "encoding": "001110-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x38000057", - "mask": "0xfc00707f" - }, - "vadc_vvm": { - "encoding": "0100000----------000-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40000057", - "mask": "0xfe00707f" - }, - "vmadc_vvm": { - "encoding": "0100010----------000-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x44000057", - "mask": "0xfe00707f" - }, - "vmadc_vv": { - "encoding": "0100011----------000-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x46000057", - "mask": "0xfe00707f" - }, - "vsbc_vvm": { - "encoding": "0100100----------000-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48000057", - "mask": "0xfe00707f" - }, - "vmsbc_vvm": { - "encoding": "0100110----------000-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4c000057", - "mask": "0xfe00707f" - }, - "vmsbc_vv": { - "encoding": "0100111----------000-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4e000057", - "mask": "0xfe00707f" - }, - "vmerge_vvm": { - "encoding": "0101110----------000-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5c000057", - "mask": "0xfe00707f" - }, - "vmv_v_v": { - "encoding": "010111100000-----000-----1010111", - "variable_fields": [ - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5e000057", - "mask": "0xfff0707f" - }, - "vmseq_vv": { - "encoding": "011000-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60000057", - "mask": "0xfc00707f" - }, - "vmsne_vv": { - "encoding": "011001-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64000057", - "mask": "0xfc00707f" - }, - "vmsltu_vv": { - "encoding": "011010-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x68000057", - "mask": "0xfc00707f" - }, - "vmslt_vv": { - "encoding": "011011-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6c000057", - "mask": "0xfc00707f" - }, - "vmsleu_vv": { - "encoding": "011100-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x70000057", - "mask": "0xfc00707f" - }, - "vmsle_vv": { - "encoding": "011101-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x74000057", - "mask": "0xfc00707f" - }, - "vsaddu_vv": { - "encoding": "100000-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80000057", - "mask": "0xfc00707f" - }, - "vsadd_vv": { - "encoding": "100001-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84000057", - "mask": "0xfc00707f" - }, - "vssubu_vv": { - "encoding": "100010-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88000057", - "mask": "0xfc00707f" - }, - "vssub_vv": { - "encoding": "100011-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c000057", - "mask": "0xfc00707f" - }, - "vsll_vv": { - "encoding": "100101-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x94000057", - "mask": "0xfc00707f" - }, - "vsmul_vv": { - "encoding": "100111-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9c000057", - "mask": "0xfc00707f" - }, - "vsrl_vv": { - "encoding": "101000-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0000057", - "mask": "0xfc00707f" - }, - "vsra_vv": { - "encoding": "101001-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4000057", - "mask": "0xfc00707f" - }, - "vssrl_vv": { - "encoding": "101010-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8000057", - "mask": "0xfc00707f" - }, - "vssra_vv": { - "encoding": "101011-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac000057", - "mask": "0xfc00707f" - }, - "vnsrl_wv": { - "encoding": "101100-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb0000057", - "mask": "0xfc00707f" - }, - "vnsra_wv": { - "encoding": "101101-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb4000057", - "mask": "0xfc00707f" - }, - "vnclipu_wv": { - "encoding": "101110-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb8000057", - "mask": "0xfc00707f" - }, - "vnclip_wv": { - "encoding": "101111-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xbc000057", - "mask": "0xfc00707f" - }, - "vwredsumu_vs": { - "encoding": "110000-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0000057", - "mask": "0xfc00707f" - }, - "vwredsum_vs": { - "encoding": "110001-----------000-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4000057", - "mask": "0xfc00707f" - }, - "vadd_vi": { - "encoding": "000000-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x3057", - "mask": "0xfc00707f" - }, - "vrsub_vi": { - "encoding": "000011-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc003057", - "mask": "0xfc00707f" - }, - "vand_vi": { - "encoding": "001001-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24003057", - "mask": "0xfc00707f" - }, - "vor_vi": { - "encoding": "001010-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28003057", - "mask": "0xfc00707f" - }, - "vxor_vi": { - "encoding": "001011-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c003057", - "mask": "0xfc00707f" - }, - "vrgather_vi": { - "encoding": "001100-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x30003057", - "mask": "0xfc00707f" - }, - "vslideup_vi": { - "encoding": "001110-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x38003057", - "mask": "0xfc00707f" - }, - "vslidedown_vi": { - "encoding": "001111-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x3c003057", - "mask": "0xfc00707f" - }, - "vadc_vim": { - "encoding": "0100000----------011-----1010111", - "variable_fields": [ - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40003057", - "mask": "0xfe00707f" - }, - "vmadc_vim": { - "encoding": "0100010----------011-----1010111", - "variable_fields": [ - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x44003057", - "mask": "0xfe00707f" - }, - "vmadc_vi": { - "encoding": "0100011----------011-----1010111", - "variable_fields": [ - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x46003057", - "mask": "0xfe00707f" - }, - "vmerge_vim": { - "encoding": "0101110----------011-----1010111", - "variable_fields": [ - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5c003057", - "mask": "0xfe00707f" - }, - "vmv_v_i": { - "encoding": "010111100000-----011-----1010111", - "variable_fields": [ - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5e003057", - "mask": "0xfff0707f" - }, - "vmseq_vi": { - "encoding": "011000-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x60003057", - "mask": "0xfc00707f" - }, - "vmsne_vi": { - "encoding": "011001-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x64003057", - "mask": "0xfc00707f" - }, - "vmsleu_vi": { - "encoding": "011100-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x70003057", - "mask": "0xfc00707f" - }, - "vmsle_vi": { - "encoding": "011101-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x74003057", - "mask": "0xfc00707f" - }, - "vmsgtu_vi": { - "encoding": "011110-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x78003057", - "mask": "0xfc00707f" - }, - "vmsgt_vi": { - "encoding": "011111-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7c003057", - "mask": "0xfc00707f" - }, - "vsaddu_vi": { - "encoding": "100000-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80003057", - "mask": "0xfc00707f" - }, - "vsadd_vi": { - "encoding": "100001-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84003057", - "mask": "0xfc00707f" - }, - "vsll_vi": { - "encoding": "100101-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x94003057", - "mask": "0xfc00707f" - }, - "vmv1r_v": { - "encoding": "1001111-----00000011-----1010111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9e003057", - "mask": "0xfe0ff07f" - }, - "vmv2r_v": { - "encoding": "1001111-----00001011-----1010111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9e00b057", - "mask": "0xfe0ff07f" - }, - "vmv4r_v": { - "encoding": "1001111-----00011011-----1010111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9e01b057", - "mask": "0xfe0ff07f" - }, - "vmv8r_v": { - "encoding": "1001111-----00111011-----1010111", - "variable_fields": [ - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9e03b057", - "mask": "0xfe0ff07f" - }, - "vsrl_vi": { - "encoding": "101000-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa0003057", - "mask": "0xfc00707f" - }, - "vsra_vi": { - "encoding": "101001-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4003057", - "mask": "0xfc00707f" - }, - "vssrl_vi": { - "encoding": "101010-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa8003057", - "mask": "0xfc00707f" - }, - "vssra_vi": { - "encoding": "101011-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac003057", - "mask": "0xfc00707f" - }, - "vnsrl_wi": { - "encoding": "101100-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb0003057", - "mask": "0xfc00707f" - }, - "vnsra_wi": { - "encoding": "101101-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb4003057", - "mask": "0xfc00707f" - }, - "vnclipu_wi": { - "encoding": "101110-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb8003057", - "mask": "0xfc00707f" - }, - "vnclip_wi": { - "encoding": "101111-----------011-----1010111", - "variable_fields": [ - "vm", - "vs2", - "simm5", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xbc003057", - "mask": "0xfc00707f" - }, - "vredsum_vs": { - "encoding": "000000-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2057", - "mask": "0xfc00707f" - }, - "vredand_vs": { - "encoding": "000001-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4002057", - "mask": "0xfc00707f" - }, - "vredor_vs": { - "encoding": "000010-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8002057", - "mask": "0xfc00707f" - }, - "vredxor_vs": { - "encoding": "000011-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc002057", - "mask": "0xfc00707f" - }, - "vredminu_vs": { - "encoding": "000100-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x10002057", - "mask": "0xfc00707f" - }, - "vredmin_vs": { - "encoding": "000101-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x14002057", - "mask": "0xfc00707f" - }, - "vredmaxu_vs": { - "encoding": "000110-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x18002057", - "mask": "0xfc00707f" - }, - "vredmax_vs": { - "encoding": "000111-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x1c002057", - "mask": "0xfc00707f" - }, - "vaaddu_vv": { - "encoding": "001000-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20002057", - "mask": "0xfc00707f" - }, - "vaadd_vv": { - "encoding": "001001-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24002057", - "mask": "0xfc00707f" - }, - "vasubu_vv": { - "encoding": "001010-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28002057", - "mask": "0xfc00707f" - }, - "vasub_vv": { - "encoding": "001011-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c002057", - "mask": "0xfc00707f" - }, - "vmv_x_s": { - "encoding": "0100001-----00000010-----1010111", - "variable_fields": [ - "vs2", - "rd" - ], - "extension": [ - "rv_v" - ], - "match": "0x42002057", - "mask": "0xfe0ff07f" - }, - "vzext_vf8": { - "encoding": "010010------00010010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48012057", - "mask": "0xfc0ff07f" - }, - "vsext_vf8": { - "encoding": "010010------00011010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4801a057", - "mask": "0xfc0ff07f" - }, - "vzext_vf4": { - "encoding": "010010------00100010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48022057", - "mask": "0xfc0ff07f" - }, - "vsext_vf4": { - "encoding": "010010------00101010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4802a057", - "mask": "0xfc0ff07f" - }, - "vzext_vf2": { - "encoding": "010010------00110010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x48032057", - "mask": "0xfc0ff07f" - }, - "vsext_vf2": { - "encoding": "010010------00111010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4803a057", - "mask": "0xfc0ff07f" - }, - "vcompress_vm": { - "encoding": "0101111----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5e002057", - "mask": "0xfe00707f" - }, - "vmandn_mm": { - "encoding": "0110001----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x62002057", - "mask": "0xfe00707f" - }, - "vmand_mm": { - "encoding": "0110011----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x66002057", - "mask": "0xfe00707f" - }, - "vmor_mm": { - "encoding": "0110101----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6a002057", - "mask": "0xfe00707f" - }, - "vmxor_mm": { - "encoding": "0110111----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x6e002057", - "mask": "0xfe00707f" - }, - "vmorn_mm": { - "encoding": "0111001----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x72002057", - "mask": "0xfe00707f" - }, - "vmnand_mm": { - "encoding": "0111011----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x76002057", - "mask": "0xfe00707f" - }, - "vmnor_mm": { - "encoding": "0111101----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7a002057", - "mask": "0xfe00707f" - }, - "vmxnor_mm": { - "encoding": "0111111----------010-----1010111", - "variable_fields": [ - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x7e002057", - "mask": "0xfe00707f" - }, - "vmsbf_m": { - "encoding": "010100------00001010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5000a057", - "mask": "0xfc0ff07f" - }, - "vmsof_m": { - "encoding": "010100------00010010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x50012057", - "mask": "0xfc0ff07f" - }, - "vmsif_m": { - "encoding": "010100------00011010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5001a057", - "mask": "0xfc0ff07f" - }, - "viota_m": { - "encoding": "010100------10000010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x50082057", - "mask": "0xfc0ff07f" - }, - "vid_v": { - "encoding": "010100-0000010001010-----1010111", - "variable_fields": [ - "vm", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x5008a057", - "mask": "0xfdfff07f" - }, - "vcpop_m": { - "encoding": "010000------10000010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rd" - ], - "extension": [ - "rv_v" - ], - "match": "0x40082057", - "mask": "0xfc0ff07f" - }, - "vfirst_m": { - "encoding": "010000------10001010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rd" - ], - "extension": [ - "rv_v" - ], - "match": "0x4008a057", - "mask": "0xfc0ff07f" - }, - "vdivu_vv": { - "encoding": "100000-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80002057", - "mask": "0xfc00707f" - }, - "vdiv_vv": { - "encoding": "100001-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84002057", - "mask": "0xfc00707f" - }, - "vremu_vv": { - "encoding": "100010-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88002057", - "mask": "0xfc00707f" - }, - "vrem_vv": { - "encoding": "100011-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c002057", - "mask": "0xfc00707f" - }, - "vmulhu_vv": { - "encoding": "100100-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x90002057", - "mask": "0xfc00707f" - }, - "vmul_vv": { - "encoding": "100101-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x94002057", - "mask": "0xfc00707f" - }, - "vmulhsu_vv": { - "encoding": "100110-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x98002057", - "mask": "0xfc00707f" - }, - "vmulh_vv": { - "encoding": "100111-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9c002057", - "mask": "0xfc00707f" - }, - "vmadd_vv": { - "encoding": "101001-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4002057", - "mask": "0xfc00707f" - }, - "vnmsub_vv": { - "encoding": "101011-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac002057", - "mask": "0xfc00707f" - }, - "vmacc_vv": { - "encoding": "101101-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb4002057", - "mask": "0xfc00707f" - }, - "vnmsac_vv": { - "encoding": "101111-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xbc002057", - "mask": "0xfc00707f" - }, - "vwaddu_vv": { - "encoding": "110000-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0002057", - "mask": "0xfc00707f" - }, - "vwadd_vv": { - "encoding": "110001-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4002057", - "mask": "0xfc00707f" - }, - "vwsubu_vv": { - "encoding": "110010-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8002057", - "mask": "0xfc00707f" - }, - "vwsub_vv": { - "encoding": "110011-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc002057", - "mask": "0xfc00707f" - }, - "vwaddu_wv": { - "encoding": "110100-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd0002057", - "mask": "0xfc00707f" - }, - "vwadd_wv": { - "encoding": "110101-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd4002057", - "mask": "0xfc00707f" - }, - "vwsubu_wv": { - "encoding": "110110-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd8002057", - "mask": "0xfc00707f" - }, - "vwsub_wv": { - "encoding": "110111-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xdc002057", - "mask": "0xfc00707f" - }, - "vwmulu_vv": { - "encoding": "111000-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0002057", - "mask": "0xfc00707f" - }, - "vwmulsu_vv": { - "encoding": "111010-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8002057", - "mask": "0xfc00707f" - }, - "vwmul_vv": { - "encoding": "111011-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xec002057", - "mask": "0xfc00707f" - }, - "vwmaccu_vv": { - "encoding": "111100-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf0002057", - "mask": "0xfc00707f" - }, - "vwmacc_vv": { - "encoding": "111101-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf4002057", - "mask": "0xfc00707f" - }, - "vwmaccsu_vv": { - "encoding": "111111-----------010-----1010111", - "variable_fields": [ - "vm", - "vs2", - "vs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xfc002057", - "mask": "0xfc00707f" - }, - "vaaddu_vx": { - "encoding": "001000-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x20006057", - "mask": "0xfc00707f" - }, - "vaadd_vx": { - "encoding": "001001-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x24006057", - "mask": "0xfc00707f" - }, - "vasubu_vx": { - "encoding": "001010-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x28006057", - "mask": "0xfc00707f" - }, - "vasub_vx": { - "encoding": "001011-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x2c006057", - "mask": "0xfc00707f" - }, - "vmv_s_x": { - "encoding": "010000100000-----110-----1010111", - "variable_fields": [ - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x42006057", - "mask": "0xfff0707f" - }, - "vslide1up_vx": { - "encoding": "001110-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x38006057", - "mask": "0xfc00707f" - }, - "vslide1down_vx": { - "encoding": "001111-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x3c006057", - "mask": "0xfc00707f" - }, - "vdivu_vx": { - "encoding": "100000-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x80006057", - "mask": "0xfc00707f" - }, - "vdiv_vx": { - "encoding": "100001-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x84006057", - "mask": "0xfc00707f" - }, - "vremu_vx": { - "encoding": "100010-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x88006057", - "mask": "0xfc00707f" - }, - "vrem_vx": { - "encoding": "100011-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x8c006057", - "mask": "0xfc00707f" - }, - "vmulhu_vx": { - "encoding": "100100-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x90006057", - "mask": "0xfc00707f" - }, - "vmul_vx": { - "encoding": "100101-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x94006057", - "mask": "0xfc00707f" - }, - "vmulhsu_vx": { - "encoding": "100110-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x98006057", - "mask": "0xfc00707f" - }, - "vmulh_vx": { - "encoding": "100111-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0x9c006057", - "mask": "0xfc00707f" - }, - "vmadd_vx": { - "encoding": "101001-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xa4006057", - "mask": "0xfc00707f" - }, - "vnmsub_vx": { - "encoding": "101011-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xac006057", - "mask": "0xfc00707f" - }, - "vmacc_vx": { - "encoding": "101101-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xb4006057", - "mask": "0xfc00707f" - }, - "vnmsac_vx": { - "encoding": "101111-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xbc006057", - "mask": "0xfc00707f" - }, - "vwaddu_vx": { - "encoding": "110000-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc0006057", - "mask": "0xfc00707f" - }, - "vwadd_vx": { - "encoding": "110001-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc4006057", - "mask": "0xfc00707f" - }, - "vwsubu_vx": { - "encoding": "110010-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xc8006057", - "mask": "0xfc00707f" - }, - "vwsub_vx": { - "encoding": "110011-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xcc006057", - "mask": "0xfc00707f" - }, - "vwaddu_wx": { - "encoding": "110100-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd0006057", - "mask": "0xfc00707f" - }, - "vwadd_wx": { - "encoding": "110101-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd4006057", - "mask": "0xfc00707f" - }, - "vwsubu_wx": { - "encoding": "110110-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xd8006057", - "mask": "0xfc00707f" - }, - "vwsub_wx": { - "encoding": "110111-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xdc006057", - "mask": "0xfc00707f" - }, - "vwmulu_vx": { - "encoding": "111000-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe0006057", - "mask": "0xfc00707f" - }, - "vwmulsu_vx": { - "encoding": "111010-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xe8006057", - "mask": "0xfc00707f" - }, - "vwmul_vx": { - "encoding": "111011-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xec006057", - "mask": "0xfc00707f" - }, - "vwmaccu_vx": { - "encoding": "111100-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf0006057", - "mask": "0xfc00707f" - }, - "vwmacc_vx": { - "encoding": "111101-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf4006057", - "mask": "0xfc00707f" - }, - "vwmaccus_vx": { - "encoding": "111110-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xf8006057", - "mask": "0xfc00707f" - }, - "vwmaccsu_vx": { - "encoding": "111111-----------110-----1010111", - "variable_fields": [ - "vm", - "vs2", - "rs1", - "vd" - ], - "extension": [ - "rv_v" - ], - "match": "0xfc006057", - "mask": "0xfc00707f" - }, - "mret": { - "encoding": "00110000001000000000000001110011", - "variable_fields": [], - "extension": [ - "rv_system" - ], - "match": "0x30200073", - "mask": "0xffffffff" - }, - "wfi": { - "encoding": "00010000010100000000000001110011", - "variable_fields": [], - "extension": [ - "rv_system" - ], - "match": "0x10500073", - "mask": "0xffffffff" - }, - "hinval_vvma": { - "encoding": "0010011----------000000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_svinval_h" - ], - "match": "0x26000073", - "mask": "0xfe007fff" - }, - "hinval_gvma": { - "encoding": "0110011----------000000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_svinval_h" - ], - "match": "0x66000073", - "mask": "0xfe007fff" - }, - "sinval_vma": { - "encoding": "0001011----------000000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_svinval" - ], - "match": "0x16000073", - "mask": "0xfe007fff" - }, - "sfence_w_inval": { - "encoding": "00011000000000000000000001110011", - "variable_fields": [], - "extension": [ - "rv_svinval" - ], - "match": "0x18000073", - "mask": "0xffffffff" - }, - "sfence_inval_ir": { - "encoding": "00011000000100000000000001110011", - "variable_fields": [], - "extension": [ - "rv_svinval" - ], - "match": "0x18100073", - "mask": "0xffffffff" - }, - "mnret": { - "encoding": "01110000001000000000000001110011", - "variable_fields": [], - "extension": [ - "rv_smrnmi" - ], - "match": "0x70200073", - "mask": "0xffffffff" - }, - "sctrclr": { - "encoding": "00010000010000000000000001110011", - "variable_fields": [], - "extension": [ - "rv_smdbltrp" - ], - "match": "0x10400073", - "mask": "0xffffffff" - }, - "dret": { - "encoding": "01111011001000000000000001110011", - "variable_fields": [], - "extension": [ - "rv_sdext" - ], - "match": "0x7b200073", - "mask": "0xffffffff" - }, - "sfence_vma": { - "encoding": "0001001----------000000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_s" - ], - "match": "0x12000073", - "mask": "0xfe007fff" - }, - "sret": { - "encoding": "00010000001000000000000001110011", - "variable_fields": [], - "extension": [ - "rv_s" - ], - "match": "0x10200073", - "mask": "0xffffffff" - }, - "fcvt_q_h": { - "encoding": "010001100010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q_zfh" - ], - "match": "0x46200053", - "mask": "0xfff0007f" - }, - "fcvt_h_q": { - "encoding": "010001000011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q_zfh" - ], - "match": "0x44300053", - "mask": "0xfff0007f" - }, - "fli_q": { - "encoding": "111101100001-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_q_zfa" - ], - "match": "0xf6100053", - "mask": "0xfff0707f" - }, - "fminm_q": { - "encoding": "0010111----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q_zfa" - ], - "match": "0x2e002053", - "mask": "0xfe00707f" - }, - "fmaxm_q": { - "encoding": "0010111----------011-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q_zfa" - ], - "match": "0x2e003053", - "mask": "0xfe00707f" - }, - "fround_q": { - "encoding": "010001100100-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q_zfa" - ], - "match": "0x46400053", - "mask": "0xfff0007f" - }, - "froundnx_q": { - "encoding": "010001100101-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q_zfa" - ], - "match": "0x46500053", - "mask": "0xfff0007f" - }, - "fleq_q": { - "encoding": "1010011----------100-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q_zfa" - ], - "match": "0xa6004053", - "mask": "0xfe00707f" - }, - "fltq_q": { - "encoding": "1010011----------101-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q_zfa" - ], - "match": "0xa6005053", - "mask": "0xfe00707f" - }, - "flq": { - "encoding": "-----------------100-----0000111", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_q" - ], - "match": "0x4007", - "mask": "0x707f" - }, - "fsq": { - "encoding": "-----------------100-----0100111", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv_q" - ], - "match": "0x4027", - "mask": "0x707f" - }, - "fmadd_q": { - "encoding": "-----11------------------1000011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x6000043", - "mask": "0x600007f" - }, - "fmsub_q": { - "encoding": "-----11------------------1000111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x6000047", - "mask": "0x600007f" - }, - "fnmsub_q": { - "encoding": "-----11------------------1001011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x600004b", - "mask": "0x600007f" - }, - "fnmadd_q": { - "encoding": "-----11------------------1001111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x600004f", - "mask": "0x600007f" - }, - "fadd_q": { - "encoding": "0000011------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x6000053", - "mask": "0xfe00007f" - }, - "fsub_q": { - "encoding": "0000111------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0xe000053", - "mask": "0xfe00007f" - }, - "fmul_q": { - "encoding": "0001011------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x16000053", - "mask": "0xfe00007f" - }, - "fdiv_q": { - "encoding": "0001111------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x1e000053", - "mask": "0xfe00007f" - }, - "fsqrt_q": { - "encoding": "010111100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x5e000053", - "mask": "0xfff0007f" - }, - "fsgnj_q": { - "encoding": "0010011----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0x26000053", - "mask": "0xfe00707f" - }, - "fsgnjn_q": { - "encoding": "0010011----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0x26001053", - "mask": "0xfe00707f" - }, - "fsgnjx_q": { - "encoding": "0010011----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0x26002053", - "mask": "0xfe00707f" - }, - "fmin_q": { - "encoding": "0010111----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0x2e000053", - "mask": "0xfe00707f" - }, - "fmax_q": { - "encoding": "0010111----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0x2e001053", - "mask": "0xfe00707f" - }, - "fcvt_s_q": { - "encoding": "010000000011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x40300053", - "mask": "0xfff0007f" - }, - "fcvt_q_s": { - "encoding": "010001100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x46000053", - "mask": "0xfff0007f" - }, - "fcvt_d_q": { - "encoding": "010000100011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x42300053", - "mask": "0xfff0007f" - }, - "fcvt_q_d": { - "encoding": "010001100001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0x46100053", - "mask": "0xfff0007f" - }, - "feq_q": { - "encoding": "1010011----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0xa6002053", - "mask": "0xfe00707f" - }, - "flt_q": { - "encoding": "1010011----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0xa6001053", - "mask": "0xfe00707f" - }, - "fle_q": { - "encoding": "1010011----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_q" - ], - "match": "0xa6000053", - "mask": "0xfe00707f" - }, - "fclass_q": { - "encoding": "111001100000-----001-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_q" - ], - "match": "0xe6001053", - "mask": "0xfff0707f" - }, - "fcvt_w_q": { - "encoding": "110001100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0xc6000053", - "mask": "0xfff0007f" - }, - "fcvt_wu_q": { - "encoding": "110001100001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0xc6100053", - "mask": "0xfff0007f" - }, - "fcvt_q_w": { - "encoding": "110101100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0xd6000053", - "mask": "0xfff0007f" - }, - "fcvt_q_wu": { - "encoding": "110101100001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_q" - ], - "match": "0xd6100053", - "mask": "0xfff0007f" - }, - "mul": { - "encoding": "0000001----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2000033", - "mask": "0xfe00707f" - }, - "mulh": { - "encoding": "0000001----------001-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2001033", - "mask": "0xfe00707f" - }, - "mulhsu": { - "encoding": "0000001----------010-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2002033", - "mask": "0xfe00707f" - }, - "mulhu": { - "encoding": "0000001----------011-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2003033", - "mask": "0xfe00707f" - }, - "div": { - "encoding": "0000001----------100-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2004033", - "mask": "0xfe00707f" - }, - "divu": { - "encoding": "0000001----------101-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2005033", - "mask": "0xfe00707f" - }, - "rem": { - "encoding": "0000001----------110-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2006033", - "mask": "0xfe00707f" - }, - "remu": { - "encoding": "0000001----------111-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_m" - ], - "match": "0x2007033", - "mask": "0xfe00707f" - }, - "lui": { - "encoding": "-------------------------0110111", - "variable_fields": [ - "rd", - "imm20" - ], - "extension": [ - "rv_i" - ], - "match": "0x37", - "mask": "0x7f" - }, - "auipc": { - "encoding": "-------------------------0010111", - "variable_fields": [ - "rd", - "imm20" - ], - "extension": [ - "rv_i" - ], - "match": "0x17", - "mask": "0x7f" - }, - "jal": { - "encoding": "-------------------------1101111", - "variable_fields": [ - "rd", - "jimm20" - ], - "extension": [ - "rv_i" - ], - "match": "0x6f", - "mask": "0x7f" - }, - "jalr": { - "encoding": "-----------------000-----1100111", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x67", - "mask": "0x707f" - }, - "beq": { - "encoding": "-----------------000-----1100011", - "variable_fields": [ - "bimm12hi", - "rs1", - "rs2", - "bimm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x63", - "mask": "0x707f" - }, - "bne": { - "encoding": "-----------------001-----1100011", - "variable_fields": [ - "bimm12hi", - "rs1", - "rs2", - "bimm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x1063", - "mask": "0x707f" - }, - "blt": { - "encoding": "-----------------100-----1100011", - "variable_fields": [ - "bimm12hi", - "rs1", - "rs2", - "bimm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x4063", - "mask": "0x707f" - }, - "bge": { - "encoding": "-----------------101-----1100011", - "variable_fields": [ - "bimm12hi", - "rs1", - "rs2", - "bimm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x5063", - "mask": "0x707f" - }, - "bltu": { - "encoding": "-----------------110-----1100011", - "variable_fields": [ - "bimm12hi", - "rs1", - "rs2", - "bimm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x6063", - "mask": "0x707f" - }, - "bgeu": { - "encoding": "-----------------111-----1100011", - "variable_fields": [ - "bimm12hi", - "rs1", - "rs2", - "bimm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x7063", - "mask": "0x707f" - }, - "lb": { - "encoding": "-----------------000-----0000011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x3", - "mask": "0x707f" - }, - "lh": { - "encoding": "-----------------001-----0000011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x1003", - "mask": "0x707f" - }, - "lw": { - "encoding": "-----------------010-----0000011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x2003", - "mask": "0x707f" - }, - "lbu": { - "encoding": "-----------------100-----0000011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x4003", - "mask": "0x707f" - }, - "lhu": { - "encoding": "-----------------101-----0000011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x5003", - "mask": "0x707f" - }, - "sb": { - "encoding": "-----------------000-----0100011", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x23", - "mask": "0x707f" - }, - "sh": { - "encoding": "-----------------001-----0100011", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x1023", - "mask": "0x707f" - }, - "sw": { - "encoding": "-----------------010-----0100011", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv_i" - ], - "match": "0x2023", - "mask": "0x707f" - }, - "addi": { - "encoding": "-----------------000-----0010011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x13", - "mask": "0x707f" - }, - "slti": { - "encoding": "-----------------010-----0010011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x2013", - "mask": "0x707f" - }, - "sltiu": { - "encoding": "-----------------011-----0010011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x3013", - "mask": "0x707f" - }, - "xori": { - "encoding": "-----------------100-----0010011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x4013", - "mask": "0x707f" - }, - "ori": { - "encoding": "-----------------110-----0010011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x6013", - "mask": "0x707f" - }, - "andi": { - "encoding": "-----------------111-----0010011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_i" - ], - "match": "0x7013", - "mask": "0x707f" - }, - "add": { - "encoding": "0000000----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x33", - "mask": "0xfe00707f" - }, - "sub": { - "encoding": "0100000----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x40000033", - "mask": "0xfe00707f" - }, - "sll": { - "encoding": "0000000----------001-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x1033", - "mask": "0xfe00707f" - }, - "slt": { - "encoding": "0000000----------010-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x2033", - "mask": "0xfe00707f" - }, - "sltu": { - "encoding": "0000000----------011-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x3033", - "mask": "0xfe00707f" - }, - "xor": { - "encoding": "0000000----------100-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x4033", - "mask": "0xfe00707f" - }, - "srl": { - "encoding": "0000000----------101-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x5033", - "mask": "0xfe00707f" - }, - "sra": { - "encoding": "0100000----------101-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x40005033", - "mask": "0xfe00707f" - }, - "or": { - "encoding": "0000000----------110-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x6033", - "mask": "0xfe00707f" - }, - "and": { - "encoding": "0000000----------111-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_i" - ], - "match": "0x7033", - "mask": "0xfe00707f" - }, - "fence": { - "encoding": "-----------------000-----0001111", - "variable_fields": [ - "fm", - "pred", - "succ", - "rs1", - "rd" - ], - "extension": [ - "rv_i" - ], - "match": "0xf", - "mask": "0x707f" - }, - "ecall": { - "encoding": "00000000000000000000000001110011", - "variable_fields": [], - "extension": [ - "rv_i" - ], - "match": "0x73", - "mask": "0xffffffff" - }, - "ebreak": { - "encoding": "00000000000100000000000001110011", - "variable_fields": [], - "extension": [ - "rv_i" - ], - "match": "0x100073", - "mask": "0xffffffff" - }, - "hfence_vvma": { - "encoding": "0010001----------000000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_h" - ], - "match": "0x22000073", - "mask": "0xfe007fff" - }, - "hfence_gvma": { - "encoding": "0110001----------000000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_h" - ], - "match": "0x62000073", - "mask": "0xfe007fff" - }, - "hlv_b": { - "encoding": "011000000000-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_h" - ], - "match": "0x60004073", - "mask": "0xfff0707f" - }, - "hlv_bu": { - "encoding": "011000000001-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_h" - ], - "match": "0x60104073", - "mask": "0xfff0707f" - }, - "hlv_h": { - "encoding": "011001000000-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_h" - ], - "match": "0x64004073", - "mask": "0xfff0707f" - }, - "hlv_hu": { - "encoding": "011001000001-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_h" - ], - "match": "0x64104073", - "mask": "0xfff0707f" - }, - "hlvx_hu": { - "encoding": "011001000011-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_h" - ], - "match": "0x64304073", - "mask": "0xfff0707f" - }, - "hlv_w": { - "encoding": "011010000000-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_h" - ], - "match": "0x68004073", - "mask": "0xfff0707f" - }, - "hlvx_wu": { - "encoding": "011010000011-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_h" - ], - "match": "0x68304073", - "mask": "0xfff0707f" - }, - "hsv_b": { - "encoding": "0110001----------100000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_h" - ], - "match": "0x62004073", - "mask": "0xfe007fff" - }, - "hsv_h": { - "encoding": "0110011----------100000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_h" - ], - "match": "0x66004073", - "mask": "0xfe007fff" - }, - "hsv_w": { - "encoding": "0110101----------100000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv_h" - ], - "match": "0x6a004073", - "mask": "0xfe007fff" - }, - "fli_s": { - "encoding": "111100000001-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_f_zfa" - ], - "match": "0xf0100053", - "mask": "0xfff0707f" - }, - "fminm_s": { - "encoding": "0010100----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f_zfa" - ], - "match": "0x28002053", - "mask": "0xfe00707f" - }, - "fmaxm_s": { - "encoding": "0010100----------011-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f_zfa" - ], - "match": "0x28003053", - "mask": "0xfe00707f" - }, - "fround_s": { - "encoding": "010000000100-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_f_zfa" - ], - "match": "0x40400053", - "mask": "0xfff0007f" - }, - "froundnx_s": { - "encoding": "010000000101-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_f_zfa" - ], - "match": "0x40500053", - "mask": "0xfff0007f" - }, - "fleq_s": { - "encoding": "1010000----------100-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f_zfa" - ], - "match": "0xa0004053", - "mask": "0xfe00707f" - }, - "fltq_s": { - "encoding": "1010000----------101-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f_zfa" - ], - "match": "0xa0005053", - "mask": "0xfe00707f" - }, - "flw": { - "encoding": "-----------------010-----0000111", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_f" - ], - "match": "0x2007", - "mask": "0x707f" - }, - "fsw": { - "encoding": "-----------------010-----0100111", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv_f" - ], - "match": "0x2027", - "mask": "0x707f" - }, - "fmadd_s": { - "encoding": "-----00------------------1000011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x43", - "mask": "0x600007f" - }, - "fmsub_s": { - "encoding": "-----00------------------1000111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x47", - "mask": "0x600007f" - }, - "fnmsub_s": { - "encoding": "-----00------------------1001011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x4b", - "mask": "0x600007f" - }, - "fnmadd_s": { - "encoding": "-----00------------------1001111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x4f", - "mask": "0x600007f" - }, - "fadd_s": { - "encoding": "0000000------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x53", - "mask": "0xfe00007f" - }, - "fsub_s": { - "encoding": "0000100------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x8000053", - "mask": "0xfe00007f" - }, - "fmul_s": { - "encoding": "0001000------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x10000053", - "mask": "0xfe00007f" - }, - "fdiv_s": { - "encoding": "0001100------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x18000053", - "mask": "0xfe00007f" - }, - "fsqrt_s": { - "encoding": "010110000000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0x58000053", - "mask": "0xfff0007f" - }, - "fsgnj_s": { - "encoding": "0010000----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0x20000053", - "mask": "0xfe00707f" - }, - "fsgnjn_s": { - "encoding": "0010000----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0x20001053", - "mask": "0xfe00707f" - }, - "fsgnjx_s": { - "encoding": "0010000----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0x20002053", - "mask": "0xfe00707f" - }, - "fmin_s": { - "encoding": "0010100----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0x28000053", - "mask": "0xfe00707f" - }, - "fmax_s": { - "encoding": "0010100----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0x28001053", - "mask": "0xfe00707f" - }, - "fcvt_w_s": { - "encoding": "110000000000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0xc0000053", - "mask": "0xfff0007f" - }, - "fcvt_wu_s": { - "encoding": "110000000001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0xc0100053", - "mask": "0xfff0007f" - }, - "fmv_x_w": { - "encoding": "111000000000-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_f" - ], - "match": "0xe0000053", - "mask": "0xfff0707f" - }, - "feq_s": { - "encoding": "1010000----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0xa0002053", - "mask": "0xfe00707f" - }, - "flt_s": { - "encoding": "1010000----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0xa0001053", - "mask": "0xfe00707f" - }, - "fle_s": { - "encoding": "1010000----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_f" - ], - "match": "0xa0000053", - "mask": "0xfe00707f" - }, - "fclass_s": { - "encoding": "111000000000-----001-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_f" - ], - "match": "0xe0001053", - "mask": "0xfff0707f" - }, - "fcvt_s_w": { - "encoding": "110100000000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0xd0000053", - "mask": "0xfff0007f" - }, - "fcvt_s_wu": { - "encoding": "110100000001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_f" - ], - "match": "0xd0100053", - "mask": "0xfff0007f" - }, - "fmv_w_x": { - "encoding": "111100000000-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_f" - ], - "match": "0xf0000053", - "mask": "0xfff0707f" - }, - "fcvt_d_h": { - "encoding": "010000100010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d_zfh" - ], - "match": "0x42200053", - "mask": "0xfff0007f" - }, - "fcvt_h_d": { - "encoding": "010001000001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d_zfh" - ], - "match": "0x44100053", - "mask": "0xfff0007f" - }, - "fli_d": { - "encoding": "111100100001-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0xf2100053", - "mask": "0xfff0707f" - }, - "fminm_d": { - "encoding": "0010101----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0x2a002053", - "mask": "0xfe00707f" - }, - "fmaxm_d": { - "encoding": "0010101----------011-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0x2a003053", - "mask": "0xfe00707f" - }, - "fround_d": { - "encoding": "010000100100-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0x42400053", - "mask": "0xfff0007f" - }, - "froundnx_d": { - "encoding": "010000100101-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0x42500053", - "mask": "0xfff0007f" - }, - "fcvtmod_w_d": { - "encoding": "110000101000-----001-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0xc2801053", - "mask": "0xfff0707f" - }, - "fleq_d": { - "encoding": "1010001----------100-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0xa2004053", - "mask": "0xfe00707f" - }, - "fltq_d": { - "encoding": "1010001----------101-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d_zfa" - ], - "match": "0xa2005053", - "mask": "0xfe00707f" - }, - "fld": { - "encoding": "-----------------011-----0000111", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv_d" - ], - "match": "0x3007", - "mask": "0x707f" - }, - "fsd": { - "encoding": "-----------------011-----0100111", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv_d" - ], - "match": "0x3027", - "mask": "0x707f" - }, - "fmadd_d": { - "encoding": "-----01------------------1000011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x2000043", - "mask": "0x600007f" - }, - "fmsub_d": { - "encoding": "-----01------------------1000111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x2000047", - "mask": "0x600007f" - }, - "fnmsub_d": { - "encoding": "-----01------------------1001011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x200004b", - "mask": "0x600007f" - }, - "fnmadd_d": { - "encoding": "-----01------------------1001111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rs3", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x200004f", - "mask": "0x600007f" - }, - "fadd_d": { - "encoding": "0000001------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x2000053", - "mask": "0xfe00007f" - }, - "fsub_d": { - "encoding": "0000101------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0xa000053", - "mask": "0xfe00007f" - }, - "fmul_d": { - "encoding": "0001001------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x12000053", - "mask": "0xfe00007f" - }, - "fdiv_d": { - "encoding": "0001101------------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x1a000053", - "mask": "0xfe00007f" - }, - "fsqrt_d": { - "encoding": "010110100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x5a000053", - "mask": "0xfff0007f" - }, - "fsgnj_d": { - "encoding": "0010001----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0x22000053", - "mask": "0xfe00707f" - }, - "fsgnjn_d": { - "encoding": "0010001----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0x22001053", - "mask": "0xfe00707f" - }, - "fsgnjx_d": { - "encoding": "0010001----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0x22002053", - "mask": "0xfe00707f" - }, - "fmin_d": { - "encoding": "0010101----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0x2a000053", - "mask": "0xfe00707f" - }, - "fmax_d": { - "encoding": "0010101----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0x2a001053", - "mask": "0xfe00707f" - }, - "fcvt_s_d": { - "encoding": "010000000001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x40100053", - "mask": "0xfff0007f" - }, - "fcvt_d_s": { - "encoding": "010000100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0x42000053", - "mask": "0xfff0007f" - }, - "feq_d": { - "encoding": "1010001----------010-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0xa2002053", - "mask": "0xfe00707f" - }, - "flt_d": { - "encoding": "1010001----------001-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0xa2001053", - "mask": "0xfe00707f" - }, - "fle_d": { - "encoding": "1010001----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_d" - ], - "match": "0xa2000053", - "mask": "0xfe00707f" - }, - "fclass_d": { - "encoding": "111000100000-----001-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv_d" - ], - "match": "0xe2001053", - "mask": "0xfff0707f" - }, - "fcvt_w_d": { - "encoding": "110000100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0xc2000053", - "mask": "0xfff0007f" - }, - "fcvt_wu_d": { - "encoding": "110000100001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0xc2100053", - "mask": "0xfff0007f" - }, - "fcvt_d_w": { - "encoding": "110100100000-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0xd2000053", - "mask": "0xfff0007f" - }, - "fcvt_d_wu": { - "encoding": "110100100001-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv_d" - ], - "match": "0xd2100053", - "mask": "0xfff0007f" - }, - "c_fld": { - "encoding": "----------------001-----------00", - "variable_fields": [ - "rd_p", - "rs1_p", - "c_uimm8lo", - "c_uimm8hi" - ], - "extension": [ - "rv_c_d" - ], - "match": "0x2000", - "mask": "0xe003" - }, - "c_fsd": { - "encoding": "----------------101-----------00", - "variable_fields": [ - "rs1_p", - "rs2_p", - "c_uimm8lo", - "c_uimm8hi" - ], - "extension": [ - "rv_c_d" - ], - "match": "0xa000", - "mask": "0xe003" - }, - "c_fldsp": { - "encoding": "----------------001-----------10", - "variable_fields": [ - "rd", - "c_uimm9sphi", - "c_uimm9splo" - ], - "extension": [ - "rv_c_d" - ], - "match": "0x2002", - "mask": "0xe003" - }, - "c_fsdsp": { - "encoding": "----------------101-----------10", - "variable_fields": [ - "c_rs2", - "c_uimm9sp_s" - ], - "extension": [ - "rv_c_d" - ], - "match": "0xa002", - "mask": "0xe003" - }, - "c_addi4spn": { - "encoding": "----------------000-----------00", - "variable_fields": [ - "rd_p", - "c_nzuimm10" - ], - "extension": [ - "rv_c" - ], - "match": "0x0", - "mask": "0xe003" - }, - "c_lw": { - "encoding": "----------------010-----------00", - "variable_fields": [ - "rd_p", - "rs1_p", - "c_uimm7lo", - "c_uimm7hi" - ], - "extension": [ - "rv_c" - ], - "match": "0x4000", - "mask": "0xe003" - }, - "c_sw": { - "encoding": "----------------110-----------00", - "variable_fields": [ - "rs1_p", - "rs2_p", - "c_uimm7lo", - "c_uimm7hi" - ], - "extension": [ - "rv_c" - ], - "match": "0xc000", - "mask": "0xe003" - }, - "c_nop": { - "encoding": "----------------000-00000-----01", - "variable_fields": [ - "c_nzimm6hi", - "c_nzimm6lo" - ], - "extension": [ - "rv_c" - ], - "match": "0x1", - "mask": "0xef83" - }, - "c_addi": { - "encoding": "----------------000-----------01", - "variable_fields": [ - "rd_rs1_n0", - "c_nzimm6lo", - "c_nzimm6hi" - ], - "extension": [ - "rv_c" - ], - "match": "0x1", - "mask": "0xe003" - }, - "c_li": { - "encoding": "----------------010-----------01", - "variable_fields": [ - "rd_n0", - "c_imm6lo", - "c_imm6hi" - ], - "extension": [ - "rv_c" - ], - "match": "0x4001", - "mask": "0xe003" - }, - "c_addi16sp": { - "encoding": "----------------011-00010-----01", - "variable_fields": [ - "c_nzimm10hi", - "c_nzimm10lo" - ], - "extension": [ - "rv_c" - ], - "match": "0x6101", - "mask": "0xef83" - }, - "c_lui": { - "encoding": "----------------011-----------01", - "variable_fields": [ - "rd_n2", - "c_nzimm18hi", - "c_nzimm18lo" - ], - "extension": [ - "rv_c" - ], - "match": "0x6001", - "mask": "0xe003" - }, - "c_andi": { - "encoding": "----------------100-10--------01", - "variable_fields": [ - "rd_rs1_p", - "c_imm6hi", - "c_imm6lo" - ], - "extension": [ - "rv_c" - ], - "match": "0x8801", - "mask": "0xec03" - }, - "c_sub": { - "encoding": "----------------100011---00---01", - "variable_fields": [ - "rd_rs1_p", - "rs2_p" - ], - "extension": [ - "rv_c" - ], - "match": "0x8c01", - "mask": "0xfc63" - }, - "c_xor": { - "encoding": "----------------100011---01---01", - "variable_fields": [ - "rd_rs1_p", - "rs2_p" - ], - "extension": [ - "rv_c" - ], - "match": "0x8c21", - "mask": "0xfc63" - }, - "c_or": { - "encoding": "----------------100011---10---01", - "variable_fields": [ - "rd_rs1_p", - "rs2_p" - ], - "extension": [ - "rv_c" - ], - "match": "0x8c41", - "mask": "0xfc63" - }, - "c_and": { - "encoding": "----------------100011---11---01", - "variable_fields": [ - "rd_rs1_p", - "rs2_p" - ], - "extension": [ - "rv_c" - ], - "match": "0x8c61", - "mask": "0xfc63" - }, - "c_j": { - "encoding": "----------------101-----------01", - "variable_fields": [ - "c_imm12" - ], - "extension": [ - "rv_c" - ], - "match": "0xa001", - "mask": "0xe003" - }, - "c_beqz": { - "encoding": "----------------110-----------01", - "variable_fields": [ - "rs1_p", - "c_bimm9lo", - "c_bimm9hi" - ], - "extension": [ - "rv_c" - ], - "match": "0xc001", - "mask": "0xe003" - }, - "c_bnez": { - "encoding": "----------------111-----------01", - "variable_fields": [ - "rs1_p", - "c_bimm9lo", - "c_bimm9hi" - ], - "extension": [ - "rv_c" - ], - "match": "0xe001", - "mask": "0xe003" - }, - "c_lwsp": { - "encoding": "----------------010-----------10", - "variable_fields": [ - "rd_n0", - "c_uimm8sphi", - "c_uimm8splo" - ], - "extension": [ - "rv_c" - ], - "match": "0x4002", - "mask": "0xe003" - }, - "c_jr": { - "encoding": "----------------1000-----0000010", - "variable_fields": [ - "rs1_n0" - ], - "extension": [ - "rv_c" - ], - "match": "0x8002", - "mask": "0xf07f" - }, - "c_mv": { - "encoding": "----------------1000----------10", - "variable_fields": [ - "rd_n0", - "c_rs2_n0" - ], - "extension": [ - "rv_c" - ], - "match": "0x8002", - "mask": "0xf003" - }, - "c_ebreak": { - "encoding": "----------------1001000000000010", - "variable_fields": [], - "extension": [ - "rv_c" - ], - "match": "0x9002", - "mask": "0xffff" - }, - "c_jalr": { - "encoding": "----------------1001-----0000010", - "variable_fields": [ - "c_rs1_n0" - ], - "extension": [ - "rv_c" - ], - "match": "0x9002", - "mask": "0xf07f" - }, - "c_add": { - "encoding": "----------------1001----------10", - "variable_fields": [ - "rd_rs1_n0", - "c_rs2_n0" - ], - "extension": [ - "rv_c" - ], - "match": "0x9002", - "mask": "0xf003" - }, - "c_swsp": { - "encoding": "----------------110-----------10", - "variable_fields": [ - "c_rs2", - "c_uimm8sp_s" - ], - "extension": [ - "rv_c" - ], - "match": "0xc002", - "mask": "0xe003" - }, - "lr_w": { - "encoding": "00010--00000-----010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x1000202f", - "mask": "0xf9f0707f" - }, - "sc_w": { - "encoding": "00011------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x1800202f", - "mask": "0xf800707f" - }, - "amoswap_w": { - "encoding": "00001------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x800202f", - "mask": "0xf800707f" - }, - "amoadd_w": { - "encoding": "00000------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x202f", - "mask": "0xf800707f" - }, - "amoxor_w": { - "encoding": "00100------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x2000202f", - "mask": "0xf800707f" - }, - "amoand_w": { - "encoding": "01100------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x6000202f", - "mask": "0xf800707f" - }, - "amoor_w": { - "encoding": "01000------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x4000202f", - "mask": "0xf800707f" - }, - "amomin_w": { - "encoding": "10000------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0x8000202f", - "mask": "0xf800707f" - }, - "amomax_w": { - "encoding": "10100------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0xa000202f", - "mask": "0xf800707f" - }, - "amominu_w": { - "encoding": "11000------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0xc000202f", - "mask": "0xf800707f" - }, - "amomaxu_w": { - "encoding": "11100------------010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv_a" - ], - "match": "0xe000202f", - "mask": "0xf800707f" - }, - "sha512sum0": { - "encoding": "000100000100-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zknh", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x10401013", - "mask": "0xfff0707f" - }, - "sha512sum1": { - "encoding": "000100000101-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zknh", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x10501013", - "mask": "0xfff0707f" - }, - "sha512sig0": { - "encoding": "000100000110-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zknh", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x10601013", - "mask": "0xfff0707f" - }, - "sha512sig1": { - "encoding": "000100000111-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zknh", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x10701013", - "mask": "0xfff0707f" - }, - "aes64esm": { - "encoding": "0011011----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zkne", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x36000033", - "mask": "0xfe00707f" - }, - "aes64es": { - "encoding": "0011001----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zkne", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x32000033", - "mask": "0xfe00707f" - }, - "aes64dsm": { - "encoding": "0011111----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zknd", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x3e000033", - "mask": "0xfe00707f" - }, - "aes64ds": { - "encoding": "0011101----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zknd", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x3a000033", - "mask": "0xfe00707f" - }, - "aes64ks1i": { - "encoding": "00110001---------001-----0010011", - "variable_fields": [ - "rd", - "rs1", - "rnum" - ], - "extension": [ - "rv64_zknd", - "rv64_zkne", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x31001013", - "mask": "0xff00707f" - }, - "aes64im": { - "encoding": "001100000000-----001-----0010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zknd", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x30001013", - "mask": "0xfff0707f" - }, - "aes64ks2": { - "encoding": "0111111----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zknd", - "rv64_zkne", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x7e000033", - "mask": "0xfe00707f" - }, - "fcvt_l_h": { - "encoding": "110001000010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_zfh" - ], - "match": "0xc4200053", - "mask": "0xfff0007f" - }, - "fcvt_lu_h": { - "encoding": "110001000011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_zfh" - ], - "match": "0xc4300053", - "mask": "0xfff0007f" - }, - "fcvt_h_l": { - "encoding": "110101000010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_zfh" - ], - "match": "0xd4200053", - "mask": "0xfff0007f" - }, - "fcvt_h_lu": { - "encoding": "110101000011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_zfh" - ], - "match": "0xd4300053", - "mask": "0xfff0007f" - }, - "c_zext_w": { - "encoding": "----------------100111---1110001", - "variable_fields": [ - "rd_rs1_p" - ], - "extension": [ - "rv64_zcb" - ], - "match": "0x9c71", - "mask": "0xfc7f" - }, - "bclri": { - "encoding": "010010-----------001-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zbs" - ], - "match": "0x48001013", - "mask": "0xfc00707f" - }, - "bexti": { - "encoding": "010010-----------101-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zbs" - ], - "match": "0x48005013", - "mask": "0xfc00707f" - }, - "binvi": { - "encoding": "011010-----------001-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zbs" - ], - "match": "0x68001013", - "mask": "0xfc00707f" - }, - "bseti": { - "encoding": "001010-----------001-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zbs" - ], - "match": "0x28001013", - "mask": "0xfc00707f" - }, - "packw": { - "encoding": "0000100----------100-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zbkb", - "rv64_zks", - "rv64_zkn", - "rv64_zk" - ], - "match": "0x800403b", - "mask": "0xfe00707f" - }, - "clzw": { - "encoding": "011000000000-----001-----0011011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zbb" - ], - "match": "0x6000101b", - "mask": "0xfff0707f" - }, - "ctzw": { - "encoding": "011000000001-----001-----0011011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zbb" - ], - "match": "0x6010101b", - "mask": "0xfff0707f" - }, - "cpopw": { - "encoding": "011000000010-----001-----0011011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_zbb" - ], - "match": "0x6020101b", - "mask": "0xfff0707f" - }, - "rolw": { - "encoding": "0110000----------001-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zbb", - "rv64_zks", - "rv64_zkn", - "rv64_zk", - "rv64_zbkb" - ], - "match": "0x6000103b", - "mask": "0xfe00707f" - }, - "rorw": { - "encoding": "0110000----------101-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zbb", - "rv64_zks", - "rv64_zkn", - "rv64_zk", - "rv64_zbkb" - ], - "match": "0x6000503b", - "mask": "0xfe00707f" - }, - "roriw": { - "encoding": "0110000----------101-----0011011", - "variable_fields": [ - "rd", - "rs1", - "shamtw" - ], - "extension": [ - "rv64_zbb", - "rv64_zks", - "rv64_zkn", - "rv64_zk", - "rv64_zbkb" - ], - "match": "0x6000501b", - "mask": "0xfe00707f" - }, - "rori": { - "encoding": "011000-----------101-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zbb", - "rv64_zks", - "rv64_zkn", - "rv64_zk", - "rv64_zbkb" - ], - "match": "0x60005013", - "mask": "0xfc00707f" - }, - "add_uw": { - "encoding": "0000100----------000-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zba" - ], - "match": "0x800003b", - "mask": "0xfe00707f" - }, - "sh1add_uw": { - "encoding": "0010000----------010-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zba" - ], - "match": "0x2000203b", - "mask": "0xfe00707f" - }, - "sh2add_uw": { - "encoding": "0010000----------100-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zba" - ], - "match": "0x2000403b", - "mask": "0xfe00707f" - }, - "sh3add_uw": { - "encoding": "0010000----------110-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zba" - ], - "match": "0x2000603b", - "mask": "0xfe00707f" - }, - "slli_uw": { - "encoding": "000010-----------001-----0011011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zba" - ], - "match": "0x800101b", - "mask": "0xfc00707f" - }, - "amocas_q": { - "encoding": "00101------------100-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_zacas" - ], - "match": "0x2800402f", - "mask": "0xf800707f" - }, - "fmvh_x_q": { - "encoding": "111001100001-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_q_zfa" - ], - "match": "0xe6100053", - "mask": "0xfff0707f" - }, - "fmvp_q_x": { - "encoding": "1011011----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_q_zfa" - ], - "match": "0xb6000053", - "mask": "0xfe00707f" - }, - "fcvt_l_q": { - "encoding": "110001100010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_q" - ], - "match": "0xc6200053", - "mask": "0xfff0007f" - }, - "fcvt_lu_q": { - "encoding": "110001100011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_q" - ], - "match": "0xc6300053", - "mask": "0xfff0007f" - }, - "fcvt_q_l": { - "encoding": "110101100010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_q" - ], - "match": "0xd6200053", - "mask": "0xfff0007f" - }, - "fcvt_q_lu": { - "encoding": "110101100011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_q" - ], - "match": "0xd6300053", - "mask": "0xfff0007f" - }, - "mulw": { - "encoding": "0000001----------000-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_m" - ], - "match": "0x200003b", - "mask": "0xfe00707f" - }, - "divw": { - "encoding": "0000001----------100-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_m" - ], - "match": "0x200403b", - "mask": "0xfe00707f" - }, - "divuw": { - "encoding": "0000001----------101-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_m" - ], - "match": "0x200503b", - "mask": "0xfe00707f" - }, - "remw": { - "encoding": "0000001----------110-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_m" - ], - "match": "0x200603b", - "mask": "0xfe00707f" - }, - "remuw": { - "encoding": "0000001----------111-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_m" - ], - "match": "0x200703b", - "mask": "0xfe00707f" - }, - "lwu": { - "encoding": "-----------------110-----0000011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv64_i" - ], - "match": "0x6003", - "mask": "0x707f" - }, - "ld": { - "encoding": "-----------------011-----0000011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv64_i" - ], - "match": "0x3003", - "mask": "0x707f" - }, - "sd": { - "encoding": "-----------------011-----0100011", - "variable_fields": [ - "imm12hi", - "rs1", - "rs2", - "imm12lo" - ], - "extension": [ - "rv64_i" - ], - "match": "0x3023", - "mask": "0x707f" - }, - "slli": { - "encoding": "000000-----------001-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_i" - ], - "match": "0x1013", - "mask": "0xfc00707f" - }, - "srli": { - "encoding": "000000-----------101-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_i" - ], - "match": "0x5013", - "mask": "0xfc00707f" - }, - "srai": { - "encoding": "010000-----------101-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_i" - ], - "match": "0x40005013", - "mask": "0xfc00707f" - }, - "addiw": { - "encoding": "-----------------000-----0011011", - "variable_fields": [ - "rd", - "rs1", - "imm12" - ], - "extension": [ - "rv64_i" - ], - "match": "0x1b", - "mask": "0x707f" - }, - "slliw": { - "encoding": "0000000----------001-----0011011", - "variable_fields": [ - "rd", - "rs1", - "shamtw" - ], - "extension": [ - "rv64_i" - ], - "match": "0x101b", - "mask": "0xfe00707f" - }, - "srliw": { - "encoding": "0000000----------101-----0011011", - "variable_fields": [ - "rd", - "rs1", - "shamtw" - ], - "extension": [ - "rv64_i" - ], - "match": "0x501b", - "mask": "0xfe00707f" - }, - "sraiw": { - "encoding": "0100000----------101-----0011011", - "variable_fields": [ - "rd", - "rs1", - "shamtw" - ], - "extension": [ - "rv64_i" - ], - "match": "0x4000501b", - "mask": "0xfe00707f" - }, - "addw": { - "encoding": "0000000----------000-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_i" - ], - "match": "0x3b", - "mask": "0xfe00707f" - }, - "subw": { - "encoding": "0100000----------000-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_i" - ], - "match": "0x4000003b", - "mask": "0xfe00707f" - }, - "sllw": { - "encoding": "0000000----------001-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_i" - ], - "match": "0x103b", - "mask": "0xfe00707f" - }, - "srlw": { - "encoding": "0000000----------101-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_i" - ], - "match": "0x503b", - "mask": "0xfe00707f" - }, - "sraw": { - "encoding": "0100000----------101-----0111011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_i" - ], - "match": "0x4000503b", - "mask": "0xfe00707f" - }, - "hlv_wu": { - "encoding": "011010000001-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_h" - ], - "match": "0x68104073", - "mask": "0xfff0707f" - }, - "hlv_d": { - "encoding": "011011000000-----100-----1110011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_h" - ], - "match": "0x6c004073", - "mask": "0xfff0707f" - }, - "hsv_d": { - "encoding": "0110111----------100000001110011", - "variable_fields": [ - "rs1", - "rs2" - ], - "extension": [ - "rv64_h" - ], - "match": "0x6e004073", - "mask": "0xfe007fff" - }, - "fcvt_l_s": { - "encoding": "110000000010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_f" - ], - "match": "0xc0200053", - "mask": "0xfff0007f" - }, - "fcvt_lu_s": { - "encoding": "110000000011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_f" - ], - "match": "0xc0300053", - "mask": "0xfff0007f" - }, - "fcvt_s_l": { - "encoding": "110100000010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_f" - ], - "match": "0xd0200053", - "mask": "0xfff0007f" - }, - "fcvt_s_lu": { - "encoding": "110100000011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_f" - ], - "match": "0xd0300053", - "mask": "0xfff0007f" - }, - "fcvt_l_d": { - "encoding": "110000100010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_d" - ], - "match": "0xc2200053", - "mask": "0xfff0007f" - }, - "fcvt_lu_d": { - "encoding": "110000100011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_d" - ], - "match": "0xc2300053", - "mask": "0xfff0007f" - }, - "fmv_x_d": { - "encoding": "111000100000-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_d" - ], - "match": "0xe2000053", - "mask": "0xfff0707f" - }, - "fcvt_d_l": { - "encoding": "110100100010-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_d" - ], - "match": "0xd2200053", - "mask": "0xfff0007f" - }, - "fcvt_d_lu": { - "encoding": "110100100011-------------1010011", - "variable_fields": [ - "rd", - "rs1", - "rm" - ], - "extension": [ - "rv64_d" - ], - "match": "0xd2300053", - "mask": "0xfff0007f" - }, - "fmv_d_x": { - "encoding": "111100100000-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv64_d" - ], - "match": "0xf2000053", - "mask": "0xfff0707f" - }, - "c_ld": { - "encoding": "----------------011-----------00", - "variable_fields": [ - "rd_p", - "rs1_p", - "c_uimm8lo", - "c_uimm8hi" - ], - "extension": [ - "rv64_c" - ], - "match": "0x6000", - "mask": "0xe003" - }, - "c_sd": { - "encoding": "----------------111-----------00", - "variable_fields": [ - "rs1_p", - "rs2_p", - "c_uimm8hi", - "c_uimm8lo" - ], - "extension": [ - "rv64_c" - ], - "match": "0xe000", - "mask": "0xe003" - }, - "c_addiw": { - "encoding": "----------------001-----------01", - "variable_fields": [ - "rd_rs1_n0", - "c_imm6lo", - "c_imm6hi" - ], - "extension": [ - "rv64_c" - ], - "match": "0x2001", - "mask": "0xe003" - }, - "c_srli": { - "encoding": "----------------100-00--------01", - "variable_fields": [ - "rd_rs1_p", - "c_nzuimm6lo", - "c_nzuimm6hi" - ], - "extension": [ - "rv64_c" - ], - "match": "0x8001", - "mask": "0xec03" - }, - "c_srai": { - "encoding": "----------------100-01--------01", - "variable_fields": [ - "rd_rs1_p", - "c_nzuimm6lo", - "c_nzuimm6hi" - ], - "extension": [ - "rv64_c" - ], - "match": "0x8401", - "mask": "0xec03" - }, - "c_subw": { - "encoding": "----------------100111---00---01", - "variable_fields": [ - "rd_rs1_p", - "rs2_p" - ], - "extension": [ - "rv64_c" - ], - "match": "0x9c01", - "mask": "0xfc63" - }, - "c_addw": { - "encoding": "----------------100111---01---01", - "variable_fields": [ - "rd_rs1_p", - "rs2_p" - ], - "extension": [ - "rv64_c" - ], - "match": "0x9c21", - "mask": "0xfc63" - }, - "c_slli": { - "encoding": "----------------000-----------10", - "variable_fields": [ - "rd_rs1_n0", - "c_nzuimm6hi", - "c_nzuimm6lo" - ], - "extension": [ - "rv64_c" - ], - "match": "0x2", - "mask": "0xe003" - }, - "c_ldsp": { - "encoding": "----------------011-----------10", - "variable_fields": [ - "rd_n0", - "c_uimm9sphi", - "c_uimm9splo" - ], - "extension": [ - "rv64_c" - ], - "match": "0x6002", - "mask": "0xe003" - }, - "c_sdsp": { - "encoding": "----------------111-----------10", - "variable_fields": [ - "c_rs2", - "c_uimm9sp_s" - ], - "extension": [ - "rv64_c" - ], - "match": "0xe002", - "mask": "0xe003" - }, - "lr_d": { - "encoding": "00010--00000-----011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x1000302f", - "mask": "0xf9f0707f" - }, - "sc_d": { - "encoding": "00011------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x1800302f", - "mask": "0xf800707f" - }, - "amoswap_d": { - "encoding": "00001------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x800302f", - "mask": "0xf800707f" - }, - "amoadd_d": { - "encoding": "00000------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x302f", - "mask": "0xf800707f" - }, - "amoxor_d": { - "encoding": "00100------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x2000302f", - "mask": "0xf800707f" - }, - "amoand_d": { - "encoding": "01100------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x6000302f", - "mask": "0xf800707f" - }, - "amoor_d": { - "encoding": "01000------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x4000302f", - "mask": "0xf800707f" - }, - "amomin_d": { - "encoding": "10000------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0x8000302f", - "mask": "0xf800707f" - }, - "amomax_d": { - "encoding": "10100------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0xa000302f", - "mask": "0xf800707f" - }, - "amominu_d": { - "encoding": "11000------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0xc000302f", - "mask": "0xf800707f" - }, - "amomaxu_d": { - "encoding": "11100------------011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "aq", - "rl" - ], - "extension": [ - "rv64_a" - ], - "match": "0xe000302f", - "mask": "0xf800707f" - }, - "sha512sum0r": { - "encoding": "0101000----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv32_zknh", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x50000033", - "mask": "0xfe00707f" - }, - "sha512sum1r": { - "encoding": "0101001----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv32_zknh", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x52000033", - "mask": "0xfe00707f" - }, - "sha512sig0l": { - "encoding": "0101010----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv32_zknh", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x54000033", - "mask": "0xfe00707f" - }, - "sha512sig0h": { - "encoding": "0101110----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv32_zknh", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x5c000033", - "mask": "0xfe00707f" - }, - "sha512sig1l": { - "encoding": "0101011----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv32_zknh", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x56000033", - "mask": "0xfe00707f" - }, - "sha512sig1h": { - "encoding": "0101111----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv32_zknh", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x5e000033", - "mask": "0xfe00707f" - }, - "aes32esmi": { - "encoding": "--10011----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "bs" - ], - "extension": [ - "rv32_zkne", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x26000033", - "mask": "0x3e00707f" - }, - "aes32esi": { - "encoding": "--10001----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "bs" - ], - "extension": [ - "rv32_zkne", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x22000033", - "mask": "0x3e00707f" - }, - "aes32dsmi": { - "encoding": "--10111----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "bs" - ], - "extension": [ - "rv32_zknd", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x2e000033", - "mask": "0x3e00707f" - }, - "aes32dsi": { - "encoding": "--10101----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2", - "bs" - ], - "extension": [ - "rv32_zknd", - "rv32_zkn", - "rv32_zk" - ], - "match": "0x2a000033", - "mask": "0x3e00707f" - }, - "fmvh_x_d": { - "encoding": "111000100001-----000-----1010011", - "variable_fields": [ - "rd", - "rs1" - ], - "extension": [ - "rv32_d_zfa" - ], - "match": "0xe2100053", - "mask": "0xfff0707f" - }, - "fmvp_d_x": { - "encoding": "1011001----------000-----1010011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv32_d_zfa" - ], - "match": "0xb2000053", - "mask": "0xfe00707f" - }, - "c_flw": { - "encoding": "----------------011-----------00", - "variable_fields": [ - "rd_p", - "rs1_p", - "c_uimm7lo", - "c_uimm7hi" - ], - "extension": [ - "rv32_c_f" - ], - "match": "0x6000", - "mask": "0xe003" - }, - "c_fsw": { - "encoding": "----------------111-----------00", - "variable_fields": [ - "rs1_p", - "rs2_p", - "c_uimm7lo", - "c_uimm7hi" - ], - "extension": [ - "rv32_c_f" - ], - "match": "0xe000", - "mask": "0xe003" - }, - "c_flwsp": { - "encoding": "----------------011-----------10", - "variable_fields": [ - "rd", - "c_uimm8sphi", - "c_uimm8splo" - ], - "extension": [ - "rv32_c_f" - ], - "match": "0x6002", - "mask": "0xe003" - }, - "c_fswsp": { - "encoding": "----------------111-----------10", - "variable_fields": [ - "c_rs2", - "c_uimm8sp_s" - ], - "extension": [ - "rv32_c_f" - ], - "match": "0xe002", - "mask": "0xe003" - }, - "c_jal": { - "encoding": "----------------001-----------01", - "variable_fields": [ - "c_imm12" - ], - "extension": [ - "rv32_c" - ], - "match": "0x2001", - "mask": "0xe003" - }, - "xperm16": { - "encoding": "0010100----------110-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv_zbp" - ], - "match": "0x28006033", - "mask": "0xfe00707f" - }, - "lb_aq": { - "encoding": "001101-00000-----000-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rl" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3400002f", - "mask": "0xfdf0707f" - }, - "lh_aq": { - "encoding": "001101-00000-----001-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rl" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3400102f", - "mask": "0xfdf0707f" - }, - "lw_aq": { - "encoding": "001101-00000-----010-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rl" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3400202f", - "mask": "0xfdf0707f" - }, - "ld_aq": { - "encoding": "001101-00000-----011-----0101111", - "variable_fields": [ - "rd", - "rs1", - "rl" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3400302f", - "mask": "0xfdf0707f" - }, - "sb_rl": { - "encoding": "00111-1----------000000000101111", - "variable_fields": [ - "rs1", - "rs2", - "aq" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3a00002f", - "mask": "0xfa007fff" - }, - "sh_rl": { - "encoding": "00111-1----------001000000101111", - "variable_fields": [ - "rs1", - "rs2", - "aq" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3a00102f", - "mask": "0xfa007fff" - }, - "sw_rl": { - "encoding": "00111-1----------010000000101111", - "variable_fields": [ - "rs1", - "rs2", - "aq" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3a00202f", - "mask": "0xfa007fff" - }, - "sd_rl": { - "encoding": "00111-1----------011000000101111", - "variable_fields": [ - "rs1", - "rs2", - "aq" - ], - "extension": [ - "rv_zalasr" - ], - "match": "0x3a00302f", - "mask": "0xfa007fff" - }, - "grevi": { - "encoding": "011010-----------101-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zbp" - ], - "match": "0x68005013", - "mask": "0xfc00707f" - }, - "gorci": { - "encoding": "001010-----------101-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtd" - ], - "extension": [ - "rv64_zbp" - ], - "match": "0x28005013", - "mask": "0xfc00707f" - }, - "shfli": { - "encoding": "0000100----------001-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtw" - ], - "extension": [ - "rv64_zbp" - ], - "match": "0x8001013", - "mask": "0xfe00707f" - }, - "unshfli": { - "encoding": "0000100----------101-----0010011", - "variable_fields": [ - "rd", - "rs1", - "shamtw" - ], - "extension": [ - "rv64_zbp" - ], - "match": "0x8005013", - "mask": "0xfe00707f" - }, - "xperm32": { - "encoding": "0010100----------000-----0110011", - "variable_fields": [ - "rd", - "rs1", - "rs2" - ], - "extension": [ - "rv64_zbp" - ], - "match": "0x28000033", - "mask": "0xfe00707f" - } -} \ No newline at end of file diff --git a/opcodes_maker/sorter.py b/opcodes_maker/sorter.py deleted file mode 100644 index f5da4993d..000000000 --- a/opcodes_maker/sorter.py +++ /dev/null @@ -1,28 +0,0 @@ -import json - -def sort_instr_json(dir_name, outname): - with open(dir_name, 'r') as file: - data = json.load(file) - - sorted_data = {} - for key in sorted(data): - entry = data[key] - if "variable_fields" in entry: - entry["variable_fields"] = sorted(entry["variable_fields"]) - if "extension" in entry: - entry["extension"] = sorted(entry["extension"]) - - # Add the processed entry to the sorted data - sorted_data[key] = entry - - with open(outname, 'w') as file: - json.dump(sorted_data, file, indent=4) - - print(json.dumps(sorted_data, indent=4)) - -def main(): - sort_instr_json("data.json", "udb_sorted_data.json") - sort_instr_json("instr_dict.json", "opcodes_sorted_data.json") - - -main() From 17a9e7885ff704d23417af57ae4c7e3515ea1aee Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 3 Feb 2025 13:58:41 +0000 Subject: [PATCH 06/13] Add all riscv-opcodes functionality to the Makefile Signed-off-by: Afonso Oliveira --- backends/opcodes_maker/Makefile | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) mode change 100644 => 100755 backends/opcodes_maker/Makefile diff --git a/backends/opcodes_maker/Makefile b/backends/opcodes_maker/Makefile old mode 100644 new mode 100755 index 205e43f3e..c6cdca745 --- a/backends/opcodes_maker/Makefile +++ b/backends/opcodes_maker/Makefile @@ -1,16 +1,13 @@ # Directories YAML_DIR ?= ../../arch/inst -OPCODES_DIR := ../riscv-opcodes OUTPUT_DIR := output # Python scripts YAML_TO_JSON := yaml_to_json.py GENERATOR := generator.py -# Output files +# Generated files INSTR_DICT := $(OUTPUT_DIR)/instr_dict.json - -# Generated output files C_OUT := $(OUTPUT_DIR)/encoding.out.h CHISEL_OUT := $(OUTPUT_DIR)/inst.chisel SPINALHDL_OUT := $(OUTPUT_DIR)/inst.spinalhdl @@ -19,7 +16,6 @@ RUST_OUT := $(OUTPUT_DIR)/inst.rs GO_OUT := $(OUTPUT_DIR)/inst.go LATEX_OUT := $(OUTPUT_DIR)/instr-table.tex LATEX_PRIV_OUT := $(OUTPUT_DIR)/priv-instr-table.tex -PROCESSED_DICT := $(OUTPUT_DIR)/processed_instr_dict.json # Check for required files REQUIRED_FILES := $(YAML_TO_JSON) $(GENERATOR) @@ -39,23 +35,12 @@ $(INSTR_DICT): $(YAML_TO_JSON) | $(OUTPUT_DIR) # Generate all outputs generate: $(INSTR_DICT) - python3 $(GENERATOR) $(INSTR_DICT) -c -chisel -rust -go -latex + python3 $(GENERATOR) $(INSTR_DICT) -c -chisel -spinalhdl -sverilog -rust -go -latex mv encoding.out.h inst.chisel inst.spinalhdl inst.sverilog inst.rs inst.go \ - instr-table.tex priv-instr-table.tex processed_instr_dict.json \ - $(OUTPUT_DIR)/ 2>/dev/null || true + instr-table.tex priv-instr-table.tex $(OUTPUT_DIR)/ 2>/dev/null || true # Clean generated files clean: rm -rf $(OUTPUT_DIR) -# Help target -help: - @echo "Available targets:" - @echo " all (default) - Run complete pipeline: YAML -> JSON -> generate" - @echo " generate - Generate all output formats from JSON" - @echo " clean - Remove all generated files" - @echo "" - @echo "All output files will be placed in the '$(OUTPUT_DIR)' directory" - @echo "Use YAML_DIR=/path/to/yaml to specify custom YAML input directory" - -.PHONY: all generate clean help +.PHONY: all generate clean From 9aa1c85bf5f7e7cdd24e72433fe0f89b6cba420c Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 3 Feb 2025 16:02:28 +0000 Subject: [PATCH 07/13] Update riscv-opcodes submodule to latest master --- ext/riscv-opcodes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/riscv-opcodes b/ext/riscv-opcodes index 5ce8977a5..9f70bcd37 160000 --- a/ext/riscv-opcodes +++ b/ext/riscv-opcodes @@ -1 +1 @@ -Subproject commit 5ce8977a5961a6bbfc1638e6676e60489665d882 +Subproject commit 9f70bcd37db27fddd34b4aa0524b8f19d31e9bb8 From 6dbadd9960fd696ee5e5eafc99355e32afb2a048 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 3 Feb 2025 16:15:16 +0000 Subject: [PATCH 08/13] Update Rakefile to add gen:opcode_outputs. Usage ./do gen:opcode_outputs YAML_DIR=optional_path Signed-off-by: Afonso Oliveira --- Rakefile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Rakefile b/Rakefile index 40b2c220e..be4641907 100644 --- a/Rakefile +++ b/Rakefile @@ -10,6 +10,7 @@ require "yard" require "minitest/test_task" require_relative $root / "lib" / "architecture" +$opcode_outputs = $root / "gen" / "opcodes_outputs" directory "#{$root}/.stamps" @@ -39,6 +40,28 @@ file "#{$root}/.stamps/dev_gems" => ["#{$root}/.stamps"] do |t| FileUtils.touch t.name end +namespace :gen do + desc "Generate opcode outputs, optionally specify YAML_DIR=path/to/yaml" + task :opcode_outputs do + yaml_dir = ENV['YAML_DIR'] || "#{$root}/arch/inst" + mkdir_p $opcode_outputs + sh "#{$root}/.home/.venv/bin/python3 #{$root}/backends/opcodes_maker/yaml_to_json.py #{yaml_dir} #{$opcode_outputs}" + sh "#{$root}/.home/.venv/bin/python3 #{$root}/backends/opcodes_maker/generator.py #{$opcode_outputs}/instr_dict.json -c -chisel -spinalhdl -sverilog -rust -go -latex" + + # Move generated files to output dir + Dir.chdir("#{$root}") do + mv "encoding.out.h", "#{$opcode_outputs}/", force: true + mv "inst.chisel", "#{$opcode_outputs}/", force: true + mv "inst.spinalhdl", "#{$opcode_outputs}/", force: true + mv "inst.sverilog", "#{$opcode_outputs}/", force: true + mv "inst.rs", "#{$opcode_outputs}/", force: true + mv "inst.go", "#{$opcode_outputs}/", force: true + mv "instr-table.tex", "#{$opcode_outputs}/", force: true + mv "priv-instr-table.tex", "#{$opcode_outputs}/", force: true + end + end + end + namespace :gen do desc "Generate documentation for the ruby tooling" task tool_doc: "#{$root}/.stamps/dev_gems" do From 6d069c95ef599c39e1b18381a3d30c0af3ad1cd5 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Tue, 4 Feb 2025 18:40:04 +0000 Subject: [PATCH 09/13] Add opcode generation to github actions; specifically, to the regress test Signed-off-by: Afonso Oliveira --- .github/workflows/regress.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/regress.yml b/.github/workflows/regress.yml index 83f06dc2f..0a32857b3 100644 --- a/.github/workflows/regress.yml +++ b/.github/workflows/regress.yml @@ -185,3 +185,32 @@ jobs: run: ./bin/build_container - name: Generate extension PDF run: ./do gen:profile[MockProfileRelease] + + regress-gen-opcode: + runs-on: ubuntu-latest + env: + SINGULARITY: 1 + steps: + - name: Clone Github Repo Action + uses: actions/checkout@v4 + - name: Setup apptainer + uses: eWaterCycle/setup-apptainer@v2.0.0 + - name: Get container from cache + id: cache-sif + uses: actions/cache@v4 + with: + path: .singularity/image.sif + key: ${{ hashFiles('container.def', 'bin/.container-tag') }} + - name: Get gems and node files from cache + id: cache-bundle-npm + uses: actions/cache@v4 + with: + path: | + .home/.gems + node_modules + key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} + - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} + name: Build container + run: ./bin/build_container + - name: Generate opcode outputs + run: ./do gen:opcode_outputs From 769b5b14f96565958561bc5a7a28a0f1a4e05a7c Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Tue, 4 Feb 2025 19:34:02 +0000 Subject: [PATCH 10/13] Add opcode generation to regress on Rakefile Signed-off-by: Afonso Oliveira --- Rakefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Rakefile b/Rakefile index be4641907..831899dea 100644 --- a/Rakefile +++ b/Rakefile @@ -342,6 +342,8 @@ namespace :test do Rake::Task["gen:html"].invoke("generic_rv64") + Rake::Task["gen:opcode_outputs"].invoke + Rake::Task["#{$root}/gen/certificate_doc/pdf/MockCertificateModel.pdf"].invoke Rake::Task["#{$root}/gen/profile_doc/pdf/MockProfileRelease.pdf"].invoke From 1843f808b2fd5c5549ceda620c5f006aa62e45e3 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Tue, 4 Feb 2025 20:29:48 +0000 Subject: [PATCH 11/13] Add riscv-opcodes to GHA and cache it Signed-off-by: Afonso Oliveira --- .github/workflows/regress.yml | 66 ++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/.github/workflows/regress.yml b/.github/workflows/regress.yml index 0a32857b3..e9ee24869 100644 --- a/.github/workflows/regress.yml +++ b/.github/workflows/regress.yml @@ -185,32 +185,42 @@ jobs: run: ./bin/build_container - name: Generate extension PDF run: ./do gen:profile[MockProfileRelease] - regress-gen-opcode: - runs-on: ubuntu-latest - env: - SINGULARITY: 1 - steps: - - name: Clone Github Repo Action - uses: actions/checkout@v4 - - name: Setup apptainer - uses: eWaterCycle/setup-apptainer@v2.0.0 - - name: Get container from cache - id: cache-sif - uses: actions/cache@v4 - with: - path: .singularity/image.sif - key: ${{ hashFiles('container.def', 'bin/.container-tag') }} - - name: Get gems and node files from cache - id: cache-bundle-npm - uses: actions/cache@v4 - with: - path: | - .home/.gems - node_modules - key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} - - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} - name: Build container - run: ./bin/build_container - - name: Generate opcode outputs - run: ./do gen:opcode_outputs + runs-on: ubuntu-latest + env: + SINGULARITY: 1 + steps: + - name: Clone Github Repo Action + uses: actions/checkout@v4 + - name: Cache riscv-opcodes submodule + id: cache-opcodes + uses: actions/cache@v4 + with: + path: ext/riscv-opcodes + key: ${{ runner.os }}-submodule-riscv-opcodes-${{ hashFiles('.gitmodules') }} + - if: steps.cache-opcodes.outputs.cache-hit != 'true' + name: Checkout riscv-opcodes submodule + run: | + git submodule init ext/riscv-opcodes + git submodule update ext/riscv-opcodes + - name: Setup apptainer + uses: eWaterCycle/setup-apptainer@v2.0.0 + - name: Get container from cache + id: cache-sif + uses: actions/cache@v4 + with: + path: .singularity/image.sif + key: ${{ hashFiles('container.def', 'bin/.container-tag') }} + - name: Get gems and node files from cache + id: cache-bundle-npm + uses: actions/cache@v4 + with: + path: | + .home/.gems + node_modules + key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} + - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} + name: Build container + run: ./bin/build_container + - name: Generate opcode outputs + run: ./do gen:opcode_outputs From 5296964a76f606fa88f05690fc8be59e4115c6ad Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Fri, 14 Feb 2025 12:59:14 +0000 Subject: [PATCH 12/13] Add fieldo.js created by Aliaksei Chapyzhenka, @drom --- backends/opcodes_maker/fieldo.js | 153 +++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 backends/opcodes_maker/fieldo.js diff --git a/backends/opcodes_maker/fieldo.js b/backends/opcodes_maker/fieldo.js new file mode 100644 index 000000000..d7d661548 --- /dev/null +++ b/backends/opcodes_maker/fieldo.js @@ -0,0 +1,153 @@ +'use strict'; + +const fieldo = { + fd: {msb: 11, lsb: 7, kind: 'fr', prio: 10, dst: true, count: 0}, + fs1: {msb: 19, lsb: 15, kind: 'fr', prio: 20, src: true, count: 0}, + fs2: {msb: 24, lsb: 20, kind: 'fr', prio: 30, src: true, count: 0}, + fs3: {msb: 31, lsb: 27, kind: 'fr', prio: 40, src: true, count: 0}, + + rd: {msb: 11, lsb: 7, kind: 'xr', prio: 10, dst: true, count: 753}, + rs1: {msb: 19, lsb: 15, kind: 'xr', prio: 20, src: true, count: 1007}, + rs2: {msb: 24, lsb: 20, kind: 'xr', prio: 30, src: true, count: 501}, + rs3: {msb: 31, lsb: 27, kind: 'xr', prio: 40, src: true, count: 26}, + + rm: {msb: 14, lsb: 12, kind: 'rm', count: 80}, + shamtq: {msb: 26, lsb: 20, bits: [6, 5, 4, 3, 2, 1, 0], count: 6}, + shamtd: {msb: 25, lsb: 20, bits: [5, 4, 3, 2, 1, 0], count: 17}, + shamtw: {msb: 24, lsb: 20, bits: [4, 3, 2, 1, 0], count: 29}, + shamtw4: {msb: 23, lsb: 20, bits: [3, 2, 1, 0], count: 2}, + + imm12: {msb: 31, lsb: 20, bits: [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], kind: 'sext', count: 23}, + + imm12lo: {msb: 11, lsb: 7, bits: [4, 3, 2, 1, 0], count: 9}, + imm12hi: {msb: 31, lsb: 25, bits: [11, 10, 9, 8, 7, 6, 5], count: 12}, + + imm20: {msb: 31, lsb: 12, bits: [31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], count: 2}, + jimm20: {msb: 31, lsb: 12, bits: [20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 11, 19, 18, 17, 16, 15, 14, 13, 12], count: 1}, + + // vector + vd: {msb: 11, lsb: 7, kind: 'vr', prio: 10, dst: true, count: 412}, + vs1: {msb: 19, lsb: 15, kind: 'vr', prio: 40, src: true, count: 128}, + vs2: {msb: 24, lsb: 20, kind: 'vr', prio: 30, src: true, count: 380}, + vs3: {msb: 11, lsb: 7, kind: 'vr', prio: 20, src: true, dst: true, count: 38}, + vm: {msb: 25, lsb: 25, count: 395}, + nf: {msb: 31, lsb: 29, count: 72}, + wd: {msb: 26, lsb: 26, count: 36}, + + simm5: {msb: 19, lsb: 15, bits: [4, 3, 2, 1, 0], kind: 'sext', count: 30}, + zimm5: {msb: 19, lsb: 15}, + + fd_p: {msb: 4, lsb: 2, kind: 'frc', prio: 10, dst: true, count: 10}, + fs2_p: {msb: 4, lsb: 2, kind: 'frc', prio: 30, src: true, count: 15}, + c_fs2: {msb: 6, lsb: 2, kind: 'fr', prio: 30, src: true, count: 6}, + + rs1_p: {msb: 9, lsb: 7, kind: 'xrc', prio: 20, src: true, count: 19}, + rs2_p: {msb: 4, lsb: 2, kind: 'xrc', prio: 30, src: true, count: 15}, + rd_p: {msb: 4, lsb: 2, kind: 'xrc', prio: 10, dst: true, count: 10}, + rd_rs1_n0: {msb: 11, lsb: 7, kind: 'xr', prio: 10, dst: true, src: true, count: 3}, + rd_rs1_p: {msb: 9, lsb: 7, kind: 'xrc', prio: 10, dst: true, src: true, count: 18}, + rd_rs1: {msb: 11, lsb: 7, kind: 'xr', prio: 10, dst: true, count: 3}, + rd_n2: {msb: 11, lsb: 7, kind: 'xr', prio: 10, dst: true, count: 1}, + rd_n0: {msb: 11, lsb: 7, kind: 'xr', prio: 10, dst: true, count: 3}, + rs1_n0: {msb: 11, lsb: 7, kind: 'xr', prio: 20, src: true, count: 1}, + c_rs2_n0: {msb: 6, lsb: 2, kind: 'xr', prio: 30, src: true, count: 2}, + c_rs1_n0: {msb: 11, lsb: 7, kind: 'xr', prio: 20, src: true, count: 1}, + c_rs2: {msb: 6, lsb: 2, kind: 'xr', prio: 30, src: true, count: 6}, + c_sreg1: {msb: 9, lsb: 7, kind: 'xrc', prio: 20, src: true, count: 2}, + c_sreg2: {msb: 4, lsb: 2, kind: 'xrc', prio: 30, src: true, count: 2}, + + aq: {msb: 26, lsb: 26, count: 22}, + rl: {msb: 25, lsb: 25, count: 22}, + + // Compact Immediate Literals + c_nzuimm10: {msb: 12, lsb: 5, bits: [5, 4, 9, 8, 7, 6, 2, 3], count: 1}, + + c_uimm7lo: {msb: 6, lsb: 5, bits: [2, 6], count: 4}, + c_uimm7hi: {msb: 12, lsb: 10, bits: [5, 4, 3], count: 4}, + + c_nzimm6lo: {msb: 6, lsb: 2, bits: [4, 3, 2, 1, 0], count: 2}, + c_nzimm6hi: {msb: 12, lsb: 12, bits: [5], count: 2}, + + c_imm6lo: {msb: 6, lsb: 2, bits: [4, 3, 2, 1, 0], count: 4}, + c_imm6hi: {msb: 12, lsb: 12, bits: [5], kind: 'sext', count: 4}, + + c_nzimm10lo: {msb: 6, lsb: 2, bits: [4, 6, 8, 7, 5], count: 1}, + c_nzimm10hi: {msb: 12, lsb: 12, bits: [9], count: 1}, + + c_nzimm18lo: {msb: 6, lsb: 2, bits: [16, 15, 14, 13, 12], count: 1}, + c_nzimm18hi: {msb: 12, lsb: 12, bits: [17], count: 1}, + + c_imm12: {msb: 12, lsb: 2, bits: [11, 4, 9, 8, 10, 6, 7, 3, 2, 1, 5], count: 2}, + + c_bimm9lo: {msb: 6, lsb: 2, bits: [7, 6, 2, 1, 5], count: 2}, + c_bimm9hi: {msb: 12, lsb: 10, bits: [8, 4, 3], count: 2}, + + c_uimm8splo: {msb: 6, lsb: 2, bits: [4, 3, 2, 7, 6], count: 2}, + c_uimm8sphi: {msb: 12, lsb: 12, bits: [5], count: 2}, + + c_uimm8sp_s: {msb: 12, lsb: 7, bits: [5, 4, 3, 2, 7, 6], count: 2}, + + c_nzuimm5: {msb: 6, lsb: 2, bits: [4, 3, 2, 1, 0], count: 2}, + + c_nzuimm6lo: {msb: 6, lsb: 2, bits: [4, 3, 2, 1, 0], count: 4}, + c_nzuimm6hi: {msb: 12, lsb: 12, bits: [5], count: 3}, + + c_uimm8lo: {msb: 6, lsb: 5, bits: [7, 6], count: 6}, + c_uimm8hi: {msb: 12, lsb: 10, bits: [5, 4, 3], count: 6}, + + c_uimm9splo: {msb: 6, lsb: 2, bits: [4, 5, 8, 7, 6], count: 3}, + c_uimm9sphi: {msb: 12, lsb: 12, bits: [5], count: 3}, + + c_uimm9sp_s: {msb: 12, lsb: 7, bits: [5, 4, 3, 8, 7, 6], count: 3}, + + c_uimm2: {msb: 6, lsb: 5, count: 2}, + c_uimm1: {msb: 5, lsb: 5, count: 3}, + c_spimm: {msb: 3, lsb: 2, count: 4}, + c_uimm9lo: {msb: 6, lsb: 5, count: 2}, + c_uimm9hi: {msb: 12, lsb: 10, count: 2}, + c_uimm10splo: {msb: 6, lsb: 2, count: 1}, + c_uimm10sphi: {msb: 12, lsb: 12, count: 1}, + c_uimm10sp_s: {msb: 12, lsb: 7, count: 1}, + c_index: {msb: 9, lsb: 2, count: 1}, + c_rlist: {msb: 7, lsb: 4, count: 4}, + + bs: {msb: 31, lsb: 30, count: 6}, // byte select for RV32K AES + rnum: {msb: 23, lsb: 20, count: 1}, + + bimm12hi: {msb: 31, lsb: 25, bits: [12, 10, 9, 8, 7, 6, 5], count: 6}, + bimm12lo: {msb: 11, lsb: 7, bits: [4, 3, 2, 1, 11], count: 6}, + + fm: {msb: 31, lsb: 28, kind: 'fm', count: 1}, + pred: {msb: 27, lsb: 24, kind: 'pred', count: 1}, + succ: {msb: 23, lsb: 20, kind: 'succ', count: 1}, + + csr: {msb: 31, lsb: 20, kind: 'csr', count: 6}, + + zimm: {msb: 19, lsb: 15, count: 6}, + zimm10: {msb: 29, lsb: 20, kind: 'vtypei', count: 1}, + zimm11: {msb: 30, lsb: 20, kind: 'vtypei', count: 1}, + + zimm6hi: {msb: 26, lsb: 26}, + zimm6lo: {msb: 19, lsb: 15}, + + // rv32_zpn + imm2: {msb: 21, lsb: 20, count: 1}, + // rv_zpn + imm3: {msb: 22, lsb: 20, count: 9}, + imm4: {msb: 23, lsb: 20, count: 8}, + imm5: {msb: 24, lsb: 20, count: 11}, + imm6: {msb: 25, lsb: 20, count: 1}, + + mop_r_t_30: {msb: 30, lsb: 30}, + mop_r_t_27_26: {msb: 27, lsb: 26}, + mop_r_t_21_20: {msb: 21, lsb: 20}, + mop_rr_t_30: {msb: 30, lsb: 30}, + mop_rr_t_27_26: {msb: 27, lsb: 26}, + + c_mop_t: {msb: 10, lsb: 8}, + +}; + +module.exports = fieldo; + +/* eslint camelcase: 0 */ From 426ae2448d4dc3ea1e44a923ce1d56a1bf04cf15 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Fri, 14 Feb 2025 13:45:13 +0000 Subject: [PATCH 13/13] Update script to use fieldo.js to find immediates Signed-off-by: Afonso Oliveira --- backends/opcodes_maker/yaml_to_json.py | 171 ++++++++++++++++++++++--- 1 file changed, 150 insertions(+), 21 deletions(-) mode change 100644 => 100755 backends/opcodes_maker/yaml_to_json.py diff --git a/backends/opcodes_maker/yaml_to_json.py b/backends/opcodes_maker/yaml_to_json.py old mode 100644 new mode 100755 index 93c55182e..ae7a280b2 --- a/backends/opcodes_maker/yaml_to_json.py +++ b/backends/opcodes_maker/yaml_to_json.py @@ -1,42 +1,171 @@ -#!/usr/bin/env python3 - +import re from typing import List, Dict, Union, Any +import argparse import os +import sys import yaml import json -import argparse -import sys +from typing import List, Dict, Union +import subprocess + + +def load_fieldo() -> dict: + """ + Load the fieldo mapping from the JavaScript file (fieldo.js) by invoking Node.js. + + """ + this_dir = os.path.dirname(os.path.abspath(__file__)) + # The command runs Node.js in the current directory and prints the JSON representation. + cmd = ["node", "-e", 'console.log(JSON.stringify(require("./fieldo.js")));'] + output = subprocess.check_output(cmd, cwd=this_dir) + return json.loads(output) + + +# Set of register names that need transformation. +reg_names = {"qs1", "qs2", "qd", "fs1", "fs2", "fd"} +fieldo = load_fieldo() def range_size(range_str: str) -> int: + """Compute the bit width from a range string like '31-20'.""" try: end, start = map(int, range_str.split("-")) return abs(end - start) + 1 - except ValueError: + except Exception: return 0 -reg_names = {"qs1", "qs2", "qd", "fs1", "fs2", "fd"} - - -def GetVariables(vars: List[Dict[str, str]]) -> List[str]: - var_names = [] - for var in vars: +def lookup_immediate_by_range( + var_base: str, high: int, low: int, instr_name: str +) -> Union[str, None]: + """ + Look up a canonical field name from the fieldo mapping based on the bit range. + + - If var_base is "imm", then we consider any field whose name contains "imm" + (but not starting with "c_" and not "csr"). + - If var_base starts with "c_", then only keys starting with "c_" are considered. + - Otherwise, we require that the key starts with var_base (for "simm", "jimm", etc.). + + If multiple candidates are found and var_base is "imm", we prefer "zimm" if present. + Otherwise, instr_name is used as a hint. + """ + candidates = [] + for key, field in fieldo.items(): + if field.get("msb") == high and field.get("lsb") == low: + if var_base == "imm": + if "imm" in key and not key.startswith("c_") and key != "csr": + candidates.append(key) + elif var_base.startswith("c_"): + if key.startswith("c_"): + candidates.append(key) + else: + if key.startswith(var_base): + candidates.append(key) + if candidates: + if len(candidates) == 1: + return candidates[0] + else: + if var_base == "imm" and "zimm" in candidates: + return "zimm" + lower_instr = instr_name.lower() + for cand in candidates: + if lower_instr.startswith("j") and cand.startswith("jimm"): + return cand + if lower_instr.startswith("b") and cand.startswith("bimm"): + return cand + return candidates[0] + return None + + +def canonical_immediate_names( + var_name: str, location: str, instr_name: str +) -> List[str]: + """ + Given a YAML immediate variable (its base name and location), return a list of canonical + field names strictly from the fieldo mapping. + + - For non-composite locations (e.g. "31-20"), the range is parsed and a lookup is performed. + - For composite locations (detected by "|" in the location), we assume a branch-immediate split: + the high part uses the range (31, 25) and the low part (11, 7), with an appropriate prefix. + - If no candidate is found in fieldo, an empty list is returned. + """ + if "|" in location: + parts = location.split("|") + if len(parts) == 4: + prefix = "bimm" if instr_name.lower().startswith("b") else "imm" + hi_candidate = lookup_immediate_by_range(prefix, 31, 25, instr_name) + lo_candidate = lookup_immediate_by_range(prefix, 11, 7, instr_name) + if hi_candidate is None or lo_candidate is None: + print( + f"Warning: composite immediate candidate not found in fieldo for {var_name} with location {location}" + ) + return [] + return [hi_candidate, lo_candidate] + else: + # For other composite formats, attempt a basic lookup using the first two numbers. + nums = list(map(int, re.findall(r"\d+", location))) + if len(nums) >= 2: + high, low = nums[0], nums[1] + candidate = lookup_immediate_by_range(var_name, high, low, instr_name) + if candidate: + return [candidate] + print( + f"Warning: composite immediate candidate not found in fieldo for {var_name} with location {location}" + ) + return [] + else: + try: + high, low = map(int, location.split("-")) + except Exception: + print(f"Warning: invalid immediate location {location} for {var_name}") + return [] + candidate = lookup_immediate_by_range(var_name, high, low, instr_name) + if candidate: + return [candidate] + else: + print( + f"Warning: No fieldo canonical name for {var_name} with range {location}" + ) + return [] + + +def GetVariables(vars: List[Dict[str, str]], instr_name: str = "") -> List[str]: + """ + Process the YAML variable definitions and return a list of variable names as expected by the generator. + + - For registers (names in reg_names), the first character is replaced with "r". + - For "shamt", the field is renamed to "shamtw" if its width is 5 or "shamtd" if 6. + - For immediates (base names "imm", "simm", "zimm", "jimm", or those starting with "c_"), + the canonical names are determined strictly by looking them up in fieldo. + Only names found in fieldo are used. + + The variables are processed in reverse order. + """ + result = [] + for var in reversed(vars): var_name = var["name"] + location = var.get("location", "") if var_name in reg_names: - # Since strings are immutable. - lst_var_name = list(var_name) - lst_var_name[0] = "r" - var_name = "".join(lst_var_name) + result.append("r" + var_name[1:]) elif var_name == "shamt": - size = range_size(var["location"]) + size = range_size(location) if size == 5: - var_name = "shamtw" + result.append("shamtw") elif size == 6: - var_name = "shamtd" - var_names.append(var_name) - var_names.reverse() - return var_names + result.append("shamtd") + else: + result.append(var_name) + elif var_name in ("imm", "simm", "zimm", "jimm") or var_name.startswith("c_"): + canon_names = canonical_immediate_names(var_name, location, instr_name) + if canon_names: + result.extend(canon_names) + else: + print( + f"Warning: Skipping immediate field {var_name} with location {location} since no fieldo mapping was found." + ) + else: + result.append(var_name) + return result def BitStringToHex(bit_str: str) -> str: