add I$/D$/L2$ simulators
[riscv-isa-sim.git] / riscv / opcodes.h
index 1e89804e229d6f459e9639d5fe0d16afdf6df46a..52af654179248ce1a37c3f46d9d635b0d618b949 100644 (file)
@@ -6,22 +6,24 @@ DECLARE_INSN(vlsthu, 0x128b, 0x1ffff)
 DECLARE_INSN(c_swsp, 0x8, 0x1f)
 DECLARE_INSN(bltu, 0x363, 0x3ff)
 DECLARE_INSN(vlsegstwu, 0xb0b, 0xfff)
+DECLARE_INSN(vvcfg, 0x473, 0xf801ffff)
 DECLARE_INSN(movz, 0x2f7, 0x1ffff)
 DECLARE_INSN(fcvt_lu_s, 0x9053, 0x3ff1ff)
-DECLARE_INSN(fence_l_cv, 0x32f, 0x3ff)
+DECLARE_INSN(c_ld, 0x9, 0x1f)
+DECLARE_INSN(c_srli32, 0xc19, 0x1c1f)
 DECLARE_INSN(fmin_s, 0x18053, 0x1ffff)
 DECLARE_INSN(c_lw0, 0x12, 0x801f)
 DECLARE_INSN(slliw, 0x9b, 0x3f83ff)
 DECLARE_INSN(lb, 0x3, 0x3ff)
 DECLARE_INSN(vlwu, 0x30b, 0x3fffff)
+DECLARE_INSN(fcvt_s_wu, 0xf053, 0x3ff1ff)
 DECLARE_INSN(fcvt_d_l, 0xc0d3, 0x3ff1ff)
 DECLARE_INSN(lh, 0x83, 0x3ff)
 DECLARE_INSN(fcvt_d_w, 0xe0d3, 0x3ff1ff)
 DECLARE_INSN(lw, 0x103, 0x3ff)
 DECLARE_INSN(add, 0x33, 0x1ffff)
 DECLARE_INSN(fcvt_d_s, 0x100d3, 0x3ff1ff)
-DECLARE_INSN(fence_g_v, 0x2af, 0x3ff)
-DECLARE_INSN(mfpcr, 0x17b, 0x7c1ffff)
+DECLARE_INSN(mfpcr, 0x17b, 0x3fffff)
 DECLARE_INSN(c_fsd, 0x18, 0x1f)
 DECLARE_INSN(fmax_d, 0x190d3, 0x1ffff)
 DECLARE_INSN(bne, 0xe3, 0x3ff)
@@ -31,9 +33,9 @@ DECLARE_INSN(vlh, 0x8b, 0x3fffff)
 DECLARE_INSN(bgeu, 0x3e3, 0x3ff)
 DECLARE_INSN(vflstd, 0x158b, 0x1ffff)
 DECLARE_INSN(c_li, 0x0, 0x1f)
-DECLARE_INSN(di, 0xfb, 0x7ffffff)
+DECLARE_INSN(fadd_d, 0xd3, 0x1f1ff)
 DECLARE_INSN(sltiu, 0x193, 0x3ff)
-DECLARE_INSN(mtpcr, 0x1fb, 0xf801ffff)
+DECLARE_INSN(mtpcr, 0x1fb, 0x1ffff)
 DECLARE_INSN(vlb, 0xb, 0x3fffff)
 DECLARE_INSN(stop, 0x177, 0xffffffff)
 DECLARE_INSN(vld, 0x18b, 0x3fffff)
@@ -44,6 +46,7 @@ DECLARE_INSN(fcvt_s_w, 0xe053, 0x3ff1ff)
 DECLARE_INSN(vflstw, 0x150b, 0x1ffff)
 DECLARE_INSN(mul, 0x433, 0x1ffff)
 DECLARE_INSN(c_lw, 0xa, 0x1f)
+DECLARE_INSN(vxcptevac, 0x237b, 0xf83fffff)
 DECLARE_INSN(vlw, 0x10b, 0x3fffff)
 DECLARE_INSN(vssegstw, 0x90f, 0xfff)
 DECLARE_INSN(amominu_d, 0x19ab, 0x1ffff)
@@ -62,18 +65,18 @@ DECLARE_INSN(srlw, 0x2bb, 0x1ffff)
 DECLARE_INSN(vssegstb, 0x80f, 0xfff)
 DECLARE_INSN(mftx_d, 0x1c0d3, 0x3fffff)
 DECLARE_INSN(div, 0x633, 0x1ffff)
-DECLARE_INSN(c_ld, 0x9, 0x1f)
+DECLARE_INSN(vtcfg, 0xc73, 0xf801ffff)
 DECLARE_INSN(mftx_s, 0x1c053, 0x3fffff)
 DECLARE_INSN(vssegsth, 0x88f, 0xfff)
 DECLARE_INSN(vvcfgivl, 0xf3, 0x3ff)
 DECLARE_INSN(j, 0x67, 0x7f)
-DECLARE_INSN(ei, 0x7b, 0x7ffffff)
 DECLARE_INSN(fence, 0x12f, 0x3ff)
 DECLARE_INSN(vsw, 0x10f, 0x3fffff)
 DECLARE_INSN(fnmsub_s, 0x4b, 0x1ff)
 DECLARE_INSN(vfssegstd, 0xd8f, 0xfff)
 DECLARE_INSN(fcvt_l_s, 0x8053, 0x3ff1ff)
 DECLARE_INSN(fle_s, 0x17053, 0x1ffff)
+DECLARE_INSN(fence_v_l, 0x22f, 0x3ff)
 DECLARE_INSN(vsb, 0xf, 0x3fffff)
 DECLARE_INSN(mffsr, 0x1d053, 0x7ffffff)
 DECLARE_INSN(fdiv_s, 0x3053, 0x1f1ff)
@@ -122,11 +125,14 @@ DECLARE_INSN(c_add3, 0x1c, 0x31f)
 DECLARE_INSN(sraiw, 0x1029b, 0x3f83ff)
 DECLARE_INSN(vssegd, 0x218f, 0x1ffff)
 DECLARE_INSN(srl, 0x2b3, 0x1ffff)
+DECLARE_INSN(venqcmd, 0x2b7b, 0xf801ffff)
 DECLARE_INSN(vfmts, 0x1973, 0x1ffff)
+DECLARE_INSN(venqimm1, 0x2f7b, 0xf801ffff)
 DECLARE_INSN(fsgnjx_s, 0x7053, 0x1ffff)
 DECLARE_INSN(vfmsv, 0x973, 0x3fffff)
-DECLARE_INSN(feq_d, 0x150d3, 0x1ffff)
+DECLARE_INSN(venqimm2, 0x337b, 0xf801ffff)
 DECLARE_INSN(fcvt_d_wu, 0xf0d3, 0x3ff1ff)
+DECLARE_INSN(vxcptrestore, 0x77b, 0xf83fffff)
 DECLARE_INSN(vmts, 0x1873, 0x1ffff)
 DECLARE_INSN(or, 0x333, 0x1ffff)
 DECLARE_INSN(rdinstret, 0xa77, 0x7ffffff)
@@ -149,7 +155,8 @@ DECLARE_INSN(vlstd, 0x118b, 0x1ffff)
 DECLARE_INSN(c_ld0, 0x8012, 0x801f)
 DECLARE_INSN(rdtime, 0x677, 0x7ffffff)
 DECLARE_INSN(andi, 0x393, 0x3ff)
-DECLARE_INSN(c_srli32, 0xc19, 0x1c1f)
+DECLARE_INSN(clearpcr, 0x7b, 0x3ff)
+DECLARE_INSN(venqcnt, 0x377b, 0xf801ffff)
 DECLARE_INSN(fsgnjn_d, 0x60d3, 0x1ffff)
 DECLARE_INSN(fnmadd_s, 0x4f, 0x1ff)
 DECLARE_INSN(jal, 0x6f, 0x7f)
@@ -160,7 +167,6 @@ DECLARE_INSN(vlhu, 0x28b, 0x3fffff)
 DECLARE_INSN(vfsstd, 0x158f, 0x1ffff)
 DECLARE_INSN(c_bne, 0x11, 0x1f)
 DECLARE_INSN(fnmadd_d, 0xcf, 0x1ff)
-DECLARE_INSN(fence_g_cv, 0x3af, 0x3ff)
 DECLARE_INSN(amoadd_d, 0x1ab, 0x1ffff)
 DECLARE_INSN(c_sw, 0xd, 0x1f)
 DECLARE_INSN(amomax_w, 0x152b, 0x1ffff)
@@ -173,8 +179,10 @@ DECLARE_INSN(c_sd, 0xc, 0x1f)
 DECLARE_INSN(amoadd_w, 0x12b, 0x1ffff)
 DECLARE_INSN(fcvt_d_lu, 0xd0d3, 0x3ff1ff)
 DECLARE_INSN(amomax_d, 0x15ab, 0x1ffff)
+DECLARE_INSN(fsd, 0x1a7, 0x3ff)
 DECLARE_INSN(fcvt_w_d, 0xa0d3, 0x3ff1ff)
 DECLARE_INSN(fmovz, 0xaf7, 0x1ffff)
+DECLARE_INSN(feq_d, 0x150d3, 0x1ffff)
 DECLARE_INSN(c_or3, 0x21c, 0x31f)
 DECLARE_INSN(vmvv, 0x73, 0x3fffff)
 DECLARE_INSN(vfssegstw, 0xd0f, 0xfff)
@@ -209,6 +217,7 @@ DECLARE_INSN(vlstwu, 0x130b, 0x1ffff)
 DECLARE_INSN(c_sub3, 0x11c, 0x31f)
 DECLARE_INSN(vsh, 0x8f, 0x3fffff)
 DECLARE_INSN(vlsegstb, 0x80b, 0xfff)
+DECLARE_INSN(vxcptsave, 0x37b, 0xf83fffff)
 DECLARE_INSN(vlsegstd, 0x98b, 0xfff)
 DECLARE_INSN(vflsegd, 0x258b, 0x1ffff)
 DECLARE_INSN(vflsegw, 0x250b, 0x1ffff)
@@ -217,12 +226,12 @@ DECLARE_INSN(fsgnj_d, 0x50d3, 0x1ffff)
 DECLARE_INSN(vflsegstw, 0xd0b, 0xfff)
 DECLARE_INSN(c_sub, 0x801a, 0x801f)
 DECLARE_INSN(mulhu, 0x5b3, 0x1ffff)
-DECLARE_INSN(fcvt_l_d, 0x80d3, 0x3ff1ff)
+DECLARE_INSN(fence_v_g, 0x2af, 0x3ff)
 DECLARE_INSN(vmsv, 0x873, 0x3fffff)
 DECLARE_INSN(vmst, 0x1073, 0x1ffff)
-DECLARE_INSN(fadd_d, 0xd3, 0x1f1ff)
-DECLARE_INSN(fcvt_s_wu, 0xf053, 0x3ff1ff)
+DECLARE_INSN(setpcr, 0xfb, 0x3ff)
 DECLARE_INSN(rdnpc, 0x26b, 0x7ffffff)
+DECLARE_INSN(vxcpthold, 0x277b, 0xffffffff)
 DECLARE_INSN(fcvt_s_l, 0xc053, 0x3ff1ff)
 DECLARE_INSN(vflsegstd, 0xd8b, 0xfff)
 DECLARE_INSN(c_add, 0x1a, 0x801f)
@@ -233,6 +242,7 @@ DECLARE_INSN(fmadd_s, 0x43, 0x1ff)
 DECLARE_INSN(fcvt_w_s, 0xa053, 0x3ff1ff)
 DECLARE_INSN(vssegh, 0x208f, 0x1ffff)
 DECLARE_INSN(fsqrt_s, 0x4053, 0x3ff1ff)
+DECLARE_INSN(vxcptkill, 0xb7b, 0xffffffff)
 DECLARE_INSN(c_srai, 0x1019, 0x1c1f)
 DECLARE_INSN(amomin_w, 0x112b, 0x1ffff)
 DECLARE_INSN(fsgnjn_s, 0x6053, 0x1ffff)
@@ -240,7 +250,6 @@ DECLARE_INSN(c_slli32, 0x419, 0x1c1f)
 DECLARE_INSN(vlsegwu, 0x230b, 0x1ffff)
 DECLARE_INSN(vfsw, 0x50f, 0x3fffff)
 DECLARE_INSN(amoswap_d, 0x5ab, 0x1ffff)
-DECLARE_INSN(fence_l_v, 0x22f, 0x3ff)
 DECLARE_INSN(fsqrt_d, 0x40d3, 0x3ff1ff)
 DECLARE_INSN(vflw, 0x50b, 0x3fffff)
 DECLARE_INSN(fdiv_d, 0x30d3, 0x1f1ff)
@@ -252,7 +261,7 @@ DECLARE_INSN(amoswap_w, 0x52b, 0x1ffff)
 DECLARE_INSN(vfsd, 0x58f, 0x3fffff)
 DECLARE_INSN(fadd_s, 0x53, 0x1f1ff)
 DECLARE_INSN(vlsegb, 0x200b, 0x1ffff)
-DECLARE_INSN(fsd, 0x1a7, 0x3ff)
+DECLARE_INSN(fcvt_l_d, 0x80d3, 0x3ff1ff)
 DECLARE_INSN(vlsegd, 0x218b, 0x1ffff)
 DECLARE_INSN(vlsegh, 0x208b, 0x1ffff)
 DECLARE_INSN(sw, 0x123, 0x3ff)
@@ -270,9 +279,3 @@ DECLARE_INSN(vlseghu, 0x228b, 0x1ffff)
 DECLARE_INSN(vssegb, 0x200f, 0x1ffff)
 DECLARE_INSN(vfssegd, 0x258f, 0x1ffff)
 DECLARE_INSN(sd, 0x1a3, 0x3ff)
-DECLARE_INSN(venqcmd, 0x1007b, 0xf83fffff)
-DECLARE_INSN(venqimm1, 0x100fb, 0xf83fffff)
-DECLARE_INSN(venqimm2, 0x1017b, 0xf83fffff)
-DECLARE_INSN(venqcnt, 0x101fb, 0xf83fffff)
-DECLARE_INSN(vwaitxcpt, 0x1807b, 0xffffffff)
-DECLARE_INSN(vwaitkill, 0x180fb, 0xffffffff)