aboutsummaryrefslogtreecommitdiff
path: root/pk
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2013-09-21 06:42:30 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2013-09-21 06:42:30 -0700
commit2960fa547a683f4a6bba06278ed58c23f3f62a85 (patch)
tree7cc1770f5bf844cdf5dc82bcc8c57363ef4d2fa2 /pk
parent5e742ad9671ee726213d662f39091fe1131c7ce6 (diff)
downloadpk-2960fa547a683f4a6bba06278ed58c23f3f62a85.zip
pk-2960fa547a683f4a6bba06278ed58c23f3f62a85.tar.gz
pk-2960fa547a683f4a6bba06278ed58c23f3f62a85.tar.bz2
Update ISA encoding
Diffstat (limited to 'pk')
-rw-r--r--pk/riscv-opc.h592
1 files changed, 294 insertions, 298 deletions
diff --git a/pk/riscv-opc.h b/pk/riscv-opc.h
index 8188a03..197f1b3 100644
--- a/pk/riscv-opc.h
+++ b/pk/riscv-opc.h
@@ -1,321 +1,317 @@
/* Automatically generated by parse-opcodes */
-#define MATCH_FMV_S_X 0x1e053
-#define MASK_FMV_S_X 0x3fffff
-#define MATCH_AMOXOR_W 0x112b
-#define MASK_AMOXOR_W 0x7fff
-#define MATCH_REMUW 0x7bb
-#define MASK_REMUW 0x1ffff
-#define MATCH_FMIN_D 0x180d3
-#define MASK_FMIN_D 0x1ffff
-#define MATCH_AMOMAX_D 0x51ab
-#define MASK_AMOMAX_D 0x7fff
-#define MATCH_BLTU 0x363
-#define MASK_BLTU 0x3ff
-#define MATCH_FMIN_S 0x18053
-#define MASK_FMIN_S 0x1ffff
-#define MATCH_SLLIW 0x9b
-#define MASK_SLLIW 0x3f07ff
+#define MATCH_FMV_S_X 0xf0000053
+#define MASK_FMV_S_X 0xfff0707f
+#define MATCH_AMOXOR_W 0x2000202f
+#define MASK_AMOXOR_W 0xf800707f
+#define MATCH_REMUW 0x200703b
+#define MASK_REMUW 0xfe00707f
+#define MATCH_FMIN_D 0xc2000053
+#define MASK_FMIN_D 0xfe00707f
+#define MATCH_AMOMAX_D 0xa000302f
+#define MASK_AMOMAX_D 0xf800707f
+#define MATCH_BLTU 0x6063
+#define MASK_BLTU 0x707f
+#define MATCH_FMIN_S 0xc0000053
+#define MASK_FMIN_S 0xfe00707f
+#define MATCH_SLLIW 0x4000101b
+#define MASK_SLLIW 0xfe00707f
#define MATCH_LB 0x3
-#define MASK_LB 0x3ff
-#define MATCH_FCVT_S_WU 0xf053
-#define MASK_FCVT_S_WU 0x3ff1ff
-#define MATCH_FCVT_D_L 0xc0d3
-#define MASK_FCVT_D_L 0x3ff1ff
-#define MATCH_LH 0x83
-#define MASK_LH 0x3ff
-#define MATCH_FRSR 0x1d053
-#define MASK_FRSR 0x7ffffff
-#define MATCH_FCVT_D_W 0xe0d3
-#define MASK_FCVT_D_W 0x3ff1ff
-#define MATCH_LW 0x103
-#define MASK_LW 0x3ff
+#define MASK_LB 0x707f
+#define MATCH_FCVT_S_WU 0x78000053
+#define MASK_FCVT_S_WU 0xfff0007f
+#define MATCH_FCVT_D_L 0x62000053
+#define MASK_FCVT_D_L 0xfff0007f
+#define MATCH_LH 0x1003
+#define MASK_LH 0x707f
+#define MATCH_FRSR 0xe8000053
+#define MASK_FRSR 0xfffff07f
+#define MATCH_FCVT_D_W 0x72000053
+#define MASK_FCVT_D_W 0xfff0007f
+#define MATCH_LW 0x2003
+#define MASK_LW 0x707f
#define MATCH_ADD 0x33
-#define MASK_ADD 0x1ffff
-#define MATCH_FCVT_D_S 0x100d3
-#define MASK_FCVT_D_S 0x3ff1ff
-#define MATCH_MFPCR 0xf3
-#define MASK_MFPCR 0x3fffff
-#define MATCH_FMAX_D 0x190d3
-#define MASK_FMAX_D 0x1ffff
-#define MATCH_BNE 0xe3
-#define MASK_BNE 0x3ff
-#define MATCH_RDCYCLE 0x277
-#define MASK_RDCYCLE 0x7ffffff
-#define MATCH_FCVT_S_D 0x11053
-#define MASK_FCVT_S_D 0x3ff1ff
-#define MATCH_BGEU 0x3e3
-#define MASK_BGEU 0x3ff
-#define MATCH_FADD_D 0xd3
-#define MASK_FADD_D 0x1f1ff
-#define MATCH_SLTIU 0x193
-#define MASK_SLTIU 0x3ff
+#define MASK_ADD 0xfe00707f
+#define MATCH_FCVT_D_S 0x82000053
+#define MASK_FCVT_D_S 0xfff0007f
+#define MATCH_MFPCR 0x1073
+#define MASK_MFPCR 0xfff0707f
+#define MATCH_FMAX_D 0xca000053
+#define MASK_FMAX_D 0xfe00707f
+#define MATCH_BNE 0x1063
+#define MASK_BNE 0x707f
+#define MATCH_RDCYCLE 0x4077
+#define MASK_RDCYCLE 0xfffff07f
+#define MATCH_FCVT_S_D 0x88000053
+#define MASK_FCVT_S_D 0xfff0007f
+#define MATCH_BGEU 0x7063
+#define MASK_BGEU 0x707f
+#define MATCH_FADD_D 0x2000053
+#define MASK_FADD_D 0xfe00007f
+#define MATCH_SLTIU 0x3013
+#define MASK_SLTIU 0x707f
#define MATCH_MTPCR 0x73
-#define MASK_MTPCR 0x1ffff
-#define MATCH_BREAK 0xf7
+#define MASK_MTPCR 0xfe00707f
+#define MATCH_BREAK 0x1077
#define MASK_BREAK 0xffffffff
-#define MATCH_FCVT_S_W 0xe053
-#define MASK_FCVT_S_W 0x3ff1ff
-#define MATCH_MUL 0x433
-#define MASK_MUL 0x1ffff
-#define MATCH_AMOMINU_D 0x61ab
-#define MASK_AMOMINU_D 0x7fff
-#define MATCH_SRLI 0x293
-#define MASK_SRLI 0x3e07ff
-#define MATCH_AMOMINU_W 0x612b
-#define MASK_AMOMINU_W 0x7fff
-#define MATCH_DIVUW 0x6bb
-#define MASK_DIVUW 0x1ffff
-#define MATCH_MULW 0x43b
-#define MASK_MULW 0x1ffff
-#define MATCH_SRLW 0x2bb
-#define MASK_SRLW 0x1ffff
-#define MATCH_DIV 0x633
-#define MASK_DIV 0x1ffff
-#define MATCH_FDIV_D 0x30d3
-#define MASK_FDIV_D 0x1f1ff
-#define MATCH_FENCE 0x2f
-#define MASK_FENCE 0x1ff
+#define MATCH_FCVT_S_W 0x70000053
+#define MASK_FCVT_S_W 0xfff0007f
+#define MATCH_MUL 0x2000033
+#define MASK_MUL 0xfe00707f
+#define MATCH_AMOMINU_D 0xc000302f
+#define MASK_AMOMINU_D 0xf800707f
+#define MATCH_SRLI 0x5013
+#define MASK_SRLI 0xfc00707f
+#define MATCH_AMOMINU_W 0xc000202f
+#define MASK_AMOMINU_W 0xf800707f
+#define MATCH_DIVUW 0x200503b
+#define MASK_DIVUW 0xfe00707f
+#define MATCH_MULW 0x200003b
+#define MASK_MULW 0xfe00707f
+#define MATCH_SRLW 0x503b
+#define MASK_SRLW 0xfe00707f
+#define MATCH_DIV 0x2004033
+#define MASK_DIV 0xfe00707f
+#define MATCH_FDIV_D 0x1a000053
+#define MASK_FDIV_D 0xfe00007f
+#define MATCH_FENCE 0xf
+#define MASK_FENCE 0x707f
#define MATCH_FNMSUB_S 0x4b
-#define MASK_FNMSUB_S 0x1ff
-#define MATCH_FCVT_L_S 0x8053
-#define MASK_FCVT_L_S 0x3ff1ff
-#define MATCH_FLE_S 0x17053
-#define MASK_FLE_S 0x1ffff
-#define MATCH_FENCE_V_L 0x12f
-#define MASK_FENCE_V_L 0x1ff
-#define MATCH_FDIV_S 0x3053
-#define MASK_FDIV_S 0x1f1ff
-#define MATCH_FLE_D 0x170d3
-#define MASK_FLE_D 0x1ffff
-#define MATCH_FENCE_I 0xaf
-#define MASK_FENCE_I 0x1ff
-#define MATCH_FNMSUB_D 0xcb
-#define MASK_FNMSUB_D 0x1ff
+#define MASK_FNMSUB_S 0x600007f
+#define MATCH_FCVT_L_S 0x40000053
+#define MASK_FCVT_L_S 0xfff0007f
+#define MATCH_FLE_S 0xb8000053
+#define MASK_FLE_S 0xfe00707f
+#define MATCH_FDIV_S 0x18000053
+#define MASK_FDIV_S 0xfe00007f
+#define MATCH_FLE_D 0xba000053
+#define MASK_FLE_D 0xfe00707f
+#define MATCH_FENCE_I 0x100f
+#define MASK_FENCE_I 0x707f
+#define MATCH_FNMSUB_D 0x200004b
+#define MASK_FNMSUB_D 0x600007f
#define MATCH_ADDW 0x3b
-#define MASK_ADDW 0x1ffff
-#define MATCH_SLL 0xb3
-#define MASK_SLL 0x1ffff
-#define MATCH_XOR 0x233
-#define MASK_XOR 0x1ffff
-#define MATCH_SUB 0x10033
-#define MASK_SUB 0x1ffff
-#define MATCH_ERET 0x273
+#define MASK_ADDW 0xfe00707f
+#define MATCH_SLL 0x1033
+#define MASK_SLL 0xfe00707f
+#define MATCH_XOR 0x4033
+#define MASK_XOR 0xfe00707f
+#define MATCH_SUB 0x40000033
+#define MASK_SUB 0xfe00707f
+#define MATCH_ERET 0x4073
#define MASK_ERET 0xffffffff
-#define MATCH_BLT 0x263
-#define MASK_BLT 0x3ff
-#define MATCH_SC_W 0xd2b
-#define MASK_SC_W 0x7fff
-#define MATCH_REM 0x733
-#define MASK_REM 0x1ffff
-#define MATCH_SRLIW 0x29b
-#define MASK_SRLIW 0x3f07ff
+#define MATCH_BLT 0x4063
+#define MASK_BLT 0x707f
+#define MATCH_SC_W 0x1800202f
+#define MASK_SC_W 0xf800707f
+#define MATCH_REM 0x2006033
+#define MASK_REM 0xfe00707f
+#define MATCH_SRLIW 0x501b
+#define MASK_SRLIW 0xfe00707f
#define MATCH_LUI 0x37
#define MASK_LUI 0x7f
-#define MATCH_FCVT_S_LU 0xd053
-#define MASK_FCVT_S_LU 0x3ff1ff
+#define MATCH_FCVT_S_LU 0x68000053
+#define MASK_FCVT_S_LU 0xfff0007f
#define MATCH_ADDI 0x13
-#define MASK_ADDI 0x3ff
-#define MATCH_MULH 0x4b3
-#define MASK_MULH 0x1ffff
-#define MATCH_FMUL_S 0x2053
-#define MASK_FMUL_S 0x1f1ff
-#define MATCH_SRAI 0x693
-#define MASK_SRAI 0x3e07ff
-#define MATCH_AMOAND_D 0x31ab
-#define MASK_AMOAND_D 0x7fff
-#define MATCH_FLT_D 0x160d3
-#define MASK_FLT_D 0x1ffff
-#define MATCH_SRAW 0x102bb
-#define MASK_SRAW 0x1ffff
-#define MATCH_FMUL_D 0x20d3
-#define MASK_FMUL_D 0x1f1ff
-#define MATCH_LD 0x183
-#define MASK_LD 0x3ff
-#define MATCH_ORI 0x313
-#define MASK_ORI 0x3ff
-#define MATCH_FLT_S 0x16053
-#define MASK_FLT_S 0x1ffff
+#define MASK_ADDI 0x707f
+#define MATCH_MULH 0x2001033
+#define MASK_MULH 0xfe00707f
+#define MATCH_FMUL_S 0x10000053
+#define MASK_FMUL_S 0xfe00007f
+#define MATCH_SRAI 0x40005013
+#define MASK_SRAI 0xfc00707f
+#define MATCH_AMOAND_D 0x6000302f
+#define MASK_AMOAND_D 0xf800707f
+#define MATCH_FLT_D 0xb2000053
+#define MASK_FLT_D 0xfe00707f
+#define MATCH_SRAW 0x4000503b
+#define MASK_SRAW 0xfe00707f
+#define MATCH_FMUL_D 0x12000053
+#define MASK_FMUL_D 0xfe00007f
+#define MATCH_LD 0x3003
+#define MASK_LD 0x707f
+#define MATCH_ORI 0x6013
+#define MASK_ORI 0x707f
+#define MATCH_FLT_S 0xb0000053
+#define MASK_FLT_S 0xfe00707f
#define MATCH_ADDIW 0x1b
-#define MASK_ADDIW 0x3ff
-#define MATCH_AMOAND_W 0x312b
-#define MASK_AMOAND_W 0x7fff
-#define MATCH_FEQ_S 0x15053
-#define MASK_FEQ_S 0x1ffff
-#define MATCH_FSGNJX_D 0x70d3
-#define MASK_FSGNJX_D 0x1ffff
-#define MATCH_SRA 0x102b3
-#define MASK_SRA 0x1ffff
-#define MATCH_BGE 0x2e3
-#define MASK_BGE 0x3ff
-#define MATCH_SRAIW 0x69b
-#define MASK_SRAIW 0x3f07ff
-#define MATCH_SRL 0x2b3
-#define MASK_SRL 0x1ffff
-#define MATCH_FSUB_D 0x10d3
-#define MASK_FSUB_D 0x1f1ff
-#define MATCH_FSGNJX_S 0x7053
-#define MASK_FSGNJX_S 0x1ffff
-#define MATCH_FEQ_D 0x150d3
-#define MASK_FEQ_D 0x1ffff
-#define MATCH_FCVT_D_WU 0xf0d3
-#define MASK_FCVT_D_WU 0x3ff1ff
-#define MATCH_OR 0x333
-#define MASK_OR 0x1ffff
-#define MATCH_RDINSTRET 0xa77
-#define MASK_RDINSTRET 0x7ffffff
-#define MATCH_FCVT_WU_D 0xb0d3
-#define MASK_FCVT_WU_D 0x3ff1ff
-#define MATCH_SUBW 0x1003b
-#define MASK_SUBW 0x1ffff
-#define MATCH_FMAX_S 0x19053
-#define MASK_FMAX_S 0x1ffff
-#define MATCH_AMOMAXU_D 0x71ab
-#define MASK_AMOMAXU_D 0x7fff
-#define MATCH_XORI 0x213
-#define MASK_XORI 0x3ff
-#define MATCH_AMOXOR_D 0x11ab
-#define MASK_AMOXOR_D 0x7fff
-#define MATCH_AMOMAXU_W 0x712b
-#define MASK_AMOMAXU_W 0x7fff
-#define MATCH_FCVT_WU_S 0xb053
-#define MASK_FCVT_WU_S 0x3ff1ff
-#define MATCH_RDTIME 0x677
-#define MASK_RDTIME 0x7ffffff
-#define MATCH_ANDI 0x393
-#define MASK_ANDI 0x3ff
-#define MATCH_CLEARPCR 0x1f3
-#define MASK_CLEARPCR 0x3ff
-#define MATCH_FMV_X_S 0x1c053
-#define MASK_FMV_X_S 0x3fffff
-#define MATCH_FSGNJN_D 0x60d3
-#define MASK_FSGNJN_D 0x1ffff
+#define MASK_ADDIW 0x707f
+#define MATCH_AMOAND_W 0x6000202f
+#define MASK_AMOAND_W 0xf800707f
+#define MATCH_FEQ_S 0xa8000053
+#define MASK_FEQ_S 0xfe00707f
+#define MATCH_FSGNJX_D 0x3a000053
+#define MASK_FSGNJX_D 0xfe00707f
+#define MATCH_SRA 0x40005033
+#define MASK_SRA 0xfe00707f
+#define MATCH_BGE 0x5063
+#define MASK_BGE 0x707f
+#define MATCH_SRAIW 0x4000501b
+#define MASK_SRAIW 0xfe00707f
+#define MATCH_SRL 0x5033
+#define MASK_SRL 0xfe00707f
+#define MATCH_FSUB_D 0xa000053
+#define MASK_FSUB_D 0xfe00007f
+#define MATCH_FSGNJX_S 0x38000053
+#define MASK_FSGNJX_S 0xfe00707f
+#define MATCH_FEQ_D 0xaa000053
+#define MASK_FEQ_D 0xfe00707f
+#define MATCH_FCVT_D_WU 0x7a000053
+#define MASK_FCVT_D_WU 0xfff0007f
+#define MATCH_OR 0x6033
+#define MASK_OR 0xfe00707f
+#define MATCH_RDINSTRET 0x4004077
+#define MASK_RDINSTRET 0xfffff07f
+#define MATCH_FCVT_WU_D 0x5a000053
+#define MASK_FCVT_WU_D 0xfff0007f
+#define MATCH_SUBW 0x4000003b
+#define MASK_SUBW 0xfe00707f
+#define MATCH_FMAX_S 0xc8000053
+#define MASK_FMAX_S 0xfe00707f
+#define MATCH_AMOMAXU_D 0xe000302f
+#define MASK_AMOMAXU_D 0xf800707f
+#define MATCH_XORI 0x4013
+#define MASK_XORI 0x707f
+#define MATCH_AMOXOR_D 0x2000302f
+#define MASK_AMOXOR_D 0xf800707f
+#define MATCH_AMOMAXU_W 0xe000202f
+#define MASK_AMOMAXU_W 0xf800707f
+#define MATCH_FCVT_WU_S 0x58000053
+#define MASK_FCVT_WU_S 0xfff0007f
+#define MATCH_RDTIME 0x2004077
+#define MASK_RDTIME 0xfffff07f
+#define MATCH_ANDI 0x7013
+#define MASK_ANDI 0x707f
+#define MATCH_CLEARPCR 0x3073
+#define MASK_CLEARPCR 0x707f
+#define MATCH_FMV_X_S 0xe0000053
+#define MASK_FMV_X_S 0xfff0707f
+#define MATCH_FSGNJN_D 0x32000053
+#define MASK_FSGNJN_D 0xfe00707f
#define MATCH_FNMADD_S 0x4f
-#define MASK_FNMADD_S 0x1ff
-#define MATCH_JAL 0x6f
+#define MASK_FNMADD_S 0x600007f
+#define MATCH_JAL 0x67
#define MASK_JAL 0x7f
-#define MATCH_LWU 0x303
-#define MASK_LWU 0x3ff
-#define MATCH_FMV_X_D 0x1c0d3
-#define MASK_FMV_X_D 0x3fffff
-#define MATCH_FNMADD_D 0xcf
-#define MASK_FNMADD_D 0x1ff
-#define MATCH_AMOADD_D 0x1ab
-#define MASK_AMOADD_D 0x7fff
-#define MATCH_LR_D 0x9ab
-#define MASK_LR_D 0x3e7fff
-#define MATCH_FCVT_W_S 0xa053
-#define MASK_FCVT_W_S 0x3ff1ff
-#define MATCH_MULHSU 0x533
-#define MASK_MULHSU 0x1ffff
-#define MATCH_AMOADD_W 0x12b
-#define MASK_AMOADD_W 0x7fff
-#define MATCH_FCVT_D_LU 0xd0d3
-#define MASK_FCVT_D_LU 0x3ff1ff
-#define MATCH_LR_W 0x92b
-#define MASK_LR_W 0x3e7fff
-#define MATCH_FSD 0x1a7
-#define MASK_FSD 0x3ff
-#define MATCH_FCVT_W_D 0xa0d3
-#define MASK_FCVT_W_D 0x3ff1ff
-#define MATCH_SLT 0x133
-#define MASK_SLT 0x1ffff
-#define MATCH_SLLW 0xbb
-#define MASK_SLLW 0x1ffff
-#define MATCH_AMOOR_D 0x21ab
-#define MASK_AMOOR_D 0x7fff
-#define MATCH_SLTI 0x113
-#define MASK_SLTI 0x3ff
-#define MATCH_REMU 0x7b3
-#define MASK_REMU 0x1ffff
-#define MATCH_FLW 0x107
-#define MASK_FLW 0x3ff
-#define MATCH_REMW 0x73b
-#define MASK_REMW 0x1ffff
-#define MATCH_SLTU 0x1b3
-#define MASK_SLTU 0x1ffff
-#define MATCH_SLLI 0x93
-#define MASK_SLLI 0x3e07ff
-#define MATCH_AMOOR_W 0x212b
-#define MASK_AMOOR_W 0x7fff
+#define MATCH_LWU 0x6003
+#define MASK_LWU 0x707f
+#define MATCH_FMV_X_D 0xe2000053
+#define MASK_FMV_X_D 0xfff0707f
+#define MATCH_FNMADD_D 0x200004f
+#define MASK_FNMADD_D 0x600007f
+#define MATCH_AMOADD_D 0x302f
+#define MASK_AMOADD_D 0xf800707f
+#define MATCH_LR_D 0x1000302f
+#define MASK_LR_D 0xf9f0707f
+#define MATCH_FCVT_W_S 0x50000053
+#define MASK_FCVT_W_S 0xfff0007f
+#define MATCH_MULHSU 0x2002033
+#define MASK_MULHSU 0xfe00707f
+#define MATCH_AMOADD_W 0x202f
+#define MASK_AMOADD_W 0xf800707f
+#define MATCH_FCVT_D_LU 0x6a000053
+#define MASK_FCVT_D_LU 0xfff0007f
+#define MATCH_LR_W 0x1000202f
+#define MASK_LR_W 0xf9f0707f
+#define MATCH_FCVT_W_D 0x52000053
+#define MASK_FCVT_W_D 0xfff0007f
+#define MATCH_SLT 0x2033
+#define MASK_SLT 0xfe00707f
+#define MATCH_SLLW 0x103b
+#define MASK_SLLW 0xfe00707f
+#define MATCH_AMOOR_D 0x4000302f
+#define MASK_AMOOR_D 0xf800707f
+#define MATCH_SLTI 0x2013
+#define MASK_SLTI 0x707f
+#define MATCH_REMU 0x2007033
+#define MASK_REMU 0xfe00707f
+#define MATCH_FLW 0x2007
+#define MASK_FLW 0x707f
+#define MATCH_REMW 0x200603b
+#define MASK_REMW 0xfe00707f
+#define MATCH_SLTU 0x3033
+#define MASK_SLTU 0xfe00707f
+#define MATCH_SLLI 0x40001013
+#define MASK_SLLI 0xfc00707f
+#define MATCH_AMOOR_W 0x4000202f
+#define MASK_AMOOR_W 0xf800707f
#define MATCH_BEQ 0x63
-#define MASK_BEQ 0x3ff
-#define MATCH_FLD 0x187
-#define MASK_FLD 0x3ff
-#define MATCH_FSUB_S 0x1053
-#define MASK_FSUB_S 0x1f1ff
-#define MATCH_AND 0x3b3
-#define MASK_AND 0x1ffff
-#define MATCH_FMV_D_X 0x1e0d3
-#define MASK_FMV_D_X 0x3fffff
-#define MATCH_LBU 0x203
-#define MASK_LBU 0x3ff
+#define MASK_BEQ 0x707f
+#define MATCH_FLD 0x3007
+#define MASK_FLD 0x707f
+#define MATCH_FSUB_S 0x8000053
+#define MASK_FSUB_S 0xfe00007f
+#define MATCH_AND 0x7033
+#define MASK_AND 0xfe00707f
+#define MATCH_FMV_D_X 0xf2000053
+#define MASK_FMV_D_X 0xfff0707f
+#define MATCH_LBU 0x4003
+#define MASK_LBU 0x707f
#define MATCH_SYSCALL 0x77
#define MASK_SYSCALL 0xffffffff
-#define MATCH_FSGNJ_S 0x5053
-#define MASK_FSGNJ_S 0x1ffff
-#define MATCH_AMOMAX_W 0x512b
-#define MASK_AMOMAX_W 0x7fff
-#define MATCH_FSGNJ_D 0x50d3
-#define MASK_FSGNJ_D 0x1ffff
-#define MATCH_MULHU 0x5b3
-#define MASK_MULHU 0x1ffff
-#define MATCH_FENCE_V_G 0x1af
-#define MASK_FENCE_V_G 0x1ff
-#define MATCH_FSSR 0x1f053
-#define MASK_FSSR 0x3fffff
-#define MATCH_SETPCR 0x173
-#define MASK_SETPCR 0x3ff
-#define MATCH_FCVT_LU_S 0x9053
-#define MASK_FCVT_LU_S 0x3ff1ff
-#define MATCH_FCVT_S_L 0xc053
-#define MASK_FCVT_S_L 0x3ff1ff
+#define MATCH_FSGNJ_S 0x28000053
+#define MASK_FSGNJ_S 0xfe00707f
+#define MATCH_AMOMAX_W 0xa000202f
+#define MASK_AMOMAX_W 0xf800707f
+#define MATCH_FSGNJ_D 0x2a000053
+#define MASK_FSGNJ_D 0xfe00707f
+#define MATCH_MULHU 0x2003033
+#define MASK_MULHU 0xfe00707f
+#define MATCH_FCVT_L_D 0x42000053
+#define MASK_FCVT_L_D 0xfff0007f
+#define MATCH_FSSR 0xf8000053
+#define MASK_FSSR 0xfff0707f
+#define MATCH_SETPCR 0x2073
+#define MASK_SETPCR 0x707f
+#define MATCH_FCVT_LU_S 0x48000053
+#define MASK_FCVT_LU_S 0xfff0007f
+#define MATCH_FCVT_S_L 0x60000053
+#define MASK_FCVT_S_L 0xfff0007f
#define MATCH_AUIPC 0x17
#define MASK_AUIPC 0x7f
-#define MATCH_FCVT_LU_D 0x90d3
-#define MASK_FCVT_LU_D 0x3ff1ff
-#define MATCH_SC_D 0xdab
-#define MASK_SC_D 0x7fff
+#define MATCH_FCVT_LU_D 0x4a000053
+#define MASK_FCVT_LU_D 0xfff0007f
+#define MATCH_SC_D 0x1800302f
+#define MASK_SC_D 0xf800707f
#define MATCH_FMADD_S 0x43
-#define MASK_FMADD_S 0x1ff
-#define MATCH_FSQRT_S 0x4053
-#define MASK_FSQRT_S 0x3ff1ff
-#define MATCH_AMOMIN_W 0x412b
-#define MASK_AMOMIN_W 0x7fff
-#define MATCH_FSGNJN_S 0x6053
-#define MASK_FSGNJN_S 0x1ffff
-#define MATCH_AMOSWAP_D 0x5ab
-#define MASK_AMOSWAP_D 0x7fff
-#define MATCH_FSQRT_D 0x40d3
-#define MASK_FSQRT_D 0x3ff1ff
-#define MATCH_FMADD_D 0xc3
-#define MASK_FMADD_D 0x1ff
-#define MATCH_DIVW 0x63b
-#define MASK_DIVW 0x1ffff
-#define MATCH_AMOMIN_D 0x41ab
-#define MASK_AMOMIN_D 0x7fff
-#define MATCH_DIVU 0x6b3
-#define MASK_DIVU 0x1ffff
-#define MATCH_AMOSWAP_W 0x52b
-#define MASK_AMOSWAP_W 0x7fff
-#define MATCH_JALR 0x67
-#define MASK_JALR 0x3ff
+#define MASK_FMADD_S 0x600007f
+#define MATCH_FSQRT_S 0x20000053
+#define MASK_FSQRT_S 0xfff0007f
+#define MATCH_AMOMIN_W 0x8000202f
+#define MASK_AMOMIN_W 0xf800707f
+#define MATCH_FSGNJN_S 0x30000053
+#define MASK_FSGNJN_S 0xfe00707f
+#define MATCH_AMOSWAP_D 0x800302f
+#define MASK_AMOSWAP_D 0xf800707f
+#define MATCH_FSQRT_D 0x22000053
+#define MASK_FSQRT_D 0xfff0007f
+#define MATCH_FMADD_D 0x2000043
+#define MASK_FMADD_D 0x600007f
+#define MATCH_DIVW 0x200403b
+#define MASK_DIVW 0xfe00707f
+#define MATCH_AMOMIN_D 0x8000302f
+#define MASK_AMOMIN_D 0xf800707f
+#define MATCH_DIVU 0x2005033
+#define MASK_DIVU 0xfe00707f
+#define MATCH_AMOSWAP_W 0x800202f
+#define MASK_AMOSWAP_W 0xf800707f
+#define MATCH_JALR 0x6f
+#define MASK_JALR 0x707f
#define MATCH_FADD_S 0x53
-#define MASK_FADD_S 0x1f1ff
-#define MATCH_FCVT_L_D 0x80d3
-#define MASK_FCVT_L_D 0x3ff1ff
-#define MATCH_SW 0x123
-#define MASK_SW 0x3ff
+#define MASK_FADD_S 0xfe00007f
+#define MATCH_FSD 0x3027
+#define MASK_FSD 0x707f
+#define MATCH_SW 0x2023
+#define MASK_SW 0x707f
#define MATCH_FMSUB_S 0x47
-#define MASK_FMSUB_S 0x1ff
-#define MATCH_LHU 0x283
-#define MASK_LHU 0x3ff
-#define MATCH_SH 0xa3
-#define MASK_SH 0x3ff
-#define MATCH_FSW 0x127
-#define MASK_FSW 0x3ff
+#define MASK_FMSUB_S 0x600007f
+#define MATCH_LHU 0x5003
+#define MASK_LHU 0x707f
+#define MATCH_SH 0x1023
+#define MASK_SH 0x707f
+#define MATCH_FSW 0x2027
+#define MASK_FSW 0x707f
#define MATCH_SB 0x23
-#define MASK_SB 0x3ff
-#define MATCH_FMSUB_D 0xc7
-#define MASK_FMSUB_D 0x1ff
-#define MATCH_SD 0x1a3
-#define MASK_SD 0x3ff
+#define MASK_SB 0x707f
+#define MATCH_FMSUB_D 0x2000047
+#define MASK_FMSUB_D 0x600007f
+#define MATCH_SD 0x3023
+#define MASK_SD 0x707f