Browse Source

[opcodes,pk,sim,xcc] fix vector mem instruction format, add vector seg mem instructions

cs250
Yunsup Lee 16 years ago
parent
commit
5eb059390c
  1. 148
      pk/riscv-opc.h

148
pk/riscv-opc.h

@ -1,10 +1,14 @@
/* Automatically generated by parse-opcodes */
#define MATCH_LWUSEG_V 0x230b
#define MASK_LWUSEG_V 0x1ffff
#define MATCH_REMUW 0x7bb
#define MASK_REMUW 0x1ffff
#define MATCH_FMIN_D 0x180d3
#define MASK_FMIN_D 0x1ffff
#define MATCH_LW_V 0x10b
#define MASK_LW_V 0x3fffff
#define MATCH_LBUSEGST_V 0x20f
#define MASK_LBUSEGST_V 0xfff
#define MATCH_LWU_V 0x30b
#define MASK_LWU_V 0x3fffff
#define MATCH_BLTU 0x363
@ -19,6 +23,10 @@
#define MASK_SLLIW 0x3f83ff
#define MATCH_LB 0x3
#define MASK_LB 0x3ff
#define MATCH_FMOV_SU 0x1810b
#define MASK_FMOV_SU 0x1ffff
#define MATCH_SWSEG_V 0x290b
#define MASK_SWSEG_V 0x1ffff
#define MATCH_FCVT_D_L 0xc0d3
#define MASK_FCVT_D_L 0x3ff1ff
#define MATCH_LH 0x83
@ -35,8 +43,12 @@
#define MASK_FENCE_G_V 0x3ff
#define MATCH_MFPCR 0x17b
#define MASK_MFPCR 0x7c1ffff
#define MATCH_LHUSEG_V 0x228b
#define MASK_LHUSEG_V 0x1ffff
#define MATCH_FMAX_D 0x190d3
#define MASK_FMAX_D 0x1ffff
#define MATCH_SBSEG_V 0x280b
#define MASK_SBSEG_V 0x1ffff
#define MATCH_BNE 0xe3
#define MASK_BNE 0x3ff
#define MATCH_MTPCR 0x1fb
@ -55,24 +67,32 @@
#define MASK_STOP 0xffffffff
#define MATCH_BREAK 0xf7
#define MASK_BREAK 0xffffffff
#define MATCH_LBST_V 0x80b
#define MATCH_LBST_V 0x100b
#define MASK_LBST_V 0x1ffff
#define MATCH_FCVT_S_W 0xe053
#define MASK_FCVT_S_W 0x3ff1ff
#define MATCH_LDSEG_V 0x218b
#define MASK_LDSEG_V 0x1ffff
#define MATCH_MUL 0x433
#define MASK_MUL 0x1ffff
#define MATCH_SBST_V 0xc0b
#define MASK_SBST_V 0xf8000fff
#define MATCH_FLD_V 0x18f
#define MATCH_SBST_V 0x180b
#define MASK_SBST_V 0x1ffff
#define MATCH_FLD_V 0x58b
#define MASK_FLD_V 0x3fffff
#define MATCH_LHSEG_V 0x208b
#define MASK_LHSEG_V 0x1ffff
#define MATCH_AMOMINU_D 0x19ab
#define MASK_AMOMINU_D 0x1ffff
#define MATCH_LHST_V 0x88b
#define MATCH_LBUSEG_V 0x220b
#define MASK_LBUSEG_V 0x1ffff
#define MATCH_LHST_V 0x108b
#define MASK_LHST_V 0x1ffff
#define MATCH_UTIDX 0x1f7
#define MASK_UTIDX 0xffffffff
#define MATCH_SRLI 0x293
#define MASK_SRLI 0x3f03ff
#define MATCH_LDSEGST_V 0x18f
#define MASK_LDSEGST_V 0xfff
#define MATCH_AMOMINU_W 0x192b
#define MASK_AMOMINU_W 0x1ffff
#define MATCH_DIVUW 0x6bb
@ -93,12 +113,16 @@
#define MASK_EI 0x7ffffff
#define MATCH_FENCE 0x12f
#define MASK_FENCE 0x3ff
#define MATCH_LHUST_V 0xa8b
#define MATCH_LHUST_V 0x128b
#define MASK_LHUST_V 0x1ffff
#define MATCH_FNMSUB_S 0x4b
#define MASK_FNMSUB_S 0x1ff
#define MATCH_FCVT_L_S 0x8053
#define MASK_FCVT_L_S 0x3ff1ff
#define MATCH_MOV_SV 0x1008b
#define MASK_MOV_SV 0x3fffff
#define MATCH_MOV_SU 0x1010b
#define MASK_MOV_SU 0x1ffff
#define MATCH_FLE_S 0x17053
#define MASK_FLE_S 0x1ffff
#define MATCH_LD_V 0x18b
@ -107,8 +131,8 @@
#define MASK_MFFSR 0x7ffffff
#define MATCH_FDIV_S 0x3053
#define MASK_FDIV_S 0x1f1ff
#define MATCH_FSWST_V 0xd0f
#define MASK_FSWST_V 0xf8000fff
#define MATCH_FSWST_V 0x1d0b
#define MASK_FSWST_V 0x1ffff
#define MATCH_FLE_D 0x170d3
#define MASK_FLE_D 0x1ffff
#define MATCH_FENCE_I 0xaf
@ -119,8 +143,8 @@
#define MASK_ADDW 0x1ffff
#define MATCH_SLL 0xb3
#define MASK_SLL 0x1ffff
#define MATCH_FSD_V 0x58f
#define MASK_FSD_V 0xf83e0fff
#define MATCH_FSD_V 0xd8b
#define MASK_FSD_V 0x3fffff
#define MATCH_XOR 0x233
#define MASK_XOR 0x1ffff
#define MATCH_SUB 0x10033
@ -137,6 +161,8 @@
#define MASK_SRLIW 0x3f83ff
#define MATCH_LUI 0x37
#define MASK_LUI 0x7f
#define MATCH_FMOV_SV 0x1808b
#define MASK_FMOV_SV 0x3fffff
#define MATCH_FCVT_S_LU 0xd053
#define MASK_FCVT_S_LU 0x3ff1ff
#define MATCH_ADDI 0x13
@ -147,12 +173,16 @@
#define MASK_FMUL_S 0x1f1ff
#define MATCH_VCFGIVL 0x73
#define MASK_VCFGIVL 0x3ff
#define MATCH_FSDSEG_V 0x2d8b
#define MASK_FSDSEG_V 0x1ffff
#define MATCH_SRAI 0x10293
#define MASK_SRAI 0x3f03ff
#define MATCH_AMOAND_D 0x9ab
#define MASK_AMOAND_D 0x1ffff
#define MATCH_FLT_D 0x160d3
#define MASK_FLT_D 0x1ffff
#define MATCH_SDSEGST_V 0x98f
#define MASK_SDSEGST_V 0xfff
#define MATCH_SRAW 0x102bb
#define MASK_SRAW 0x1ffff
#define MATCH_FMUL_D 0x20d3
@ -161,16 +191,16 @@
#define MASK_LD 0x3ff
#define MATCH_ORI 0x313
#define MASK_ORI 0x3ff
#define MATCH_SWST_V 0xd0b
#define MASK_SWST_V 0xf8000fff
#define MATCH_SWST_V 0x190b
#define MASK_SWST_V 0x1ffff
#define MATCH_FLT_S 0x16053
#define MASK_FLT_S 0x1ffff
#define MATCH_ADDIW 0x1b
#define MASK_ADDIW 0x3ff
#define MATCH_AMOAND_W 0x92b
#define MASK_AMOAND_W 0x1ffff
#define MATCH_FSDST_V 0xd8f
#define MASK_FSDST_V 0xf8000fff
#define MATCH_FSDST_V 0x1d8b
#define MASK_FSDST_V 0x1ffff
#define MATCH_FEQ_S 0x15053
#define MASK_FEQ_S 0x1ffff
#define MATCH_FSGNJX_D 0x70d3
@ -181,14 +211,18 @@
#define MASK_BGE 0x3ff
#define MATCH_LB_V 0xb
#define MASK_LB_V 0x3fffff
#define MATCH_LWUSEGST_V 0x30f
#define MASK_LWUSEGST_V 0xfff
#define MATCH_SRAIW 0x1029b
#define MASK_SRAIW 0x3f83ff
#define MATCH_LDST_V 0x98b
#define MATCH_LDST_V 0x118b
#define MASK_LDST_V 0x1ffff
#define MATCH_SRL 0x2b3
#define MASK_SRL 0x1ffff
#define MATCH_FSGNJX_S 0x7053
#define MASK_FSGNJX_S 0x1ffff
#define MATCH_FLDSEG_V 0x258b
#define MASK_FLDSEG_V 0x1ffff
#define MATCH_FEQ_D 0x150d3
#define MASK_FEQ_D 0x1ffff
#define MATCH_FCVT_D_WU 0xf0d3
@ -219,10 +253,12 @@
#define MASK_FCVT_WU_S 0x3ff1ff
#define MATCH_LHU_V 0x28b
#define MASK_LHU_V 0x3fffff
#define MATCH_MOV_US 0x1018b
#define MASK_MOV_US 0x1ffff
#define MATCH_ANDI 0x393
#define MASK_ANDI 0x3ff
#define MATCH_FSW_V 0x50f
#define MASK_FSW_V 0xf83e0fff
#define MATCH_FSW_V 0xd0b
#define MASK_FSW_V 0x3fffff
#define MATCH_FSGNJN_D 0x60d3
#define MASK_FSGNJN_D 0x1ffff
#define MATCH_FNMADD_S 0x4f
@ -231,20 +267,28 @@
#define MASK_JAL 0x7f
#define MATCH_LWU 0x303
#define MASK_LWU 0x3ff
#define MATCH_FLDST_V 0x98f
#define MATCH_FLDST_V 0x158b
#define MASK_FLDST_V 0x1ffff
#define MATCH_FNMADD_D 0xcf
#define MASK_FNMADD_D 0x1ff
#define MATCH_FENCE_G_CV 0x3af
#define MASK_FENCE_G_CV 0x3ff
#define MATCH_SBSEGST_V 0x80f
#define MASK_SBSEGST_V 0xfff
#define MATCH_AMOADD_D 0x1ab
#define MASK_AMOADD_D 0x1ffff
#define MATCH_FLWSEG_V 0x250b
#define MASK_FLWSEG_V 0x1ffff
#define MATCH_LBSEG_V 0x200b
#define MASK_LBSEG_V 0x1ffff
#define MATCH_AMOMAX_W 0x152b
#define MASK_AMOMAX_W 0x1ffff
#define MATCH_FLW_V 0x10f
#define MATCH_FLW_V 0x50b
#define MASK_FLW_V 0x3fffff
#define MATCH_FCVT_W_S 0xa053
#define MASK_FCVT_W_S 0x3ff1ff
#define MATCH_FLDSEGST_V 0x58f
#define MASK_FLDSEGST_V 0xfff
#define MATCH_MULHSU 0x533
#define MASK_MULHSU 0x1ffff
#define MATCH_AMOADD_W 0x12b
@ -253,11 +297,17 @@
#define MASK_FCVT_D_LU 0x3ff1ff
#define MATCH_AMOMAX_D 0x15ab
#define MASK_AMOMAX_D 0x1ffff
#define MATCH_LHUSEGST_V 0x28f
#define MASK_LHUSEGST_V 0xfff
#define MATCH_FCVT_W_D 0xa0d3
#define MASK_FCVT_W_D 0x3ff1ff
#define MATCH_SW_V 0x50b
#define MASK_SW_V 0xf83e0fff
#define MATCH_LWUST_V 0xb0b
#define MATCH_SW_V 0x90b
#define MASK_SW_V 0x3fffff
#define MATCH_SDSEG_V 0x298b
#define MASK_SDSEG_V 0x1ffff
#define MATCH_LBSEGST_V 0xf
#define MASK_LBSEGST_V 0xfff
#define MATCH_LWUST_V 0x130b
#define MASK_LWUST_V 0x1ffff
#define MATCH_SLT 0x133
#define MASK_SLT 0x1ffff
@ -277,7 +327,9 @@
#define MASK_REMW 0x1ffff
#define MATCH_SLTU 0x1b3
#define MASK_SLTU 0x1ffff
#define MATCH_FLWST_V 0x90f
#define MATCH_FSDSEGST_V 0xd8f
#define MASK_FSDSEGST_V 0xfff
#define MATCH_FLWST_V 0x150b
#define MASK_FLWST_V 0x1ffff
#define MATCH_SLLI 0x93
#define MASK_SLLI 0x3f03ff
@ -293,22 +345,32 @@
#define MASK_FSUB_S 0x1f1ff
#define MATCH_AND 0x3b3
#define MASK_AND 0x1ffff
#define MATCH_FSWSEGST_V 0xd0f
#define MASK_FSWSEGST_V 0xfff
#define MATCH_LBU 0x203
#define MASK_LBU 0x3ff
#define MATCH_SH_V 0x48b
#define MASK_SH_V 0xf83e0fff
#define MATCH_SH_V 0x88b
#define MASK_SH_V 0x3fffff
#define MATCH_VF 0x173
#define MASK_VF 0xffc003ff
#define MASK_VF 0xf80003ff
#define MATCH_SYSCALL 0x77
#define MASK_SYSCALL 0xffffffff
#define MATCH_FSGNJ_S 0x5053
#define MASK_FSGNJ_S 0x1ffff
#define MATCH_SHSEGST_V 0x88f
#define MASK_SHSEGST_V 0xfff
#define MATCH_FLWSEGST_V 0x50f
#define MASK_FLWSEGST_V 0xfff
#define MATCH_LWSEG_V 0x210b
#define MASK_LWSEG_V 0x1ffff
#define MATCH_FSGNJ_D 0x50d3
#define MASK_FSGNJ_D 0x1ffff
#define MATCH_MULHU 0x5b3
#define MASK_MULHU 0x1ffff
#define MATCH_FCVT_L_D 0x80d3
#define MASK_FCVT_L_D 0x3ff1ff
#define MATCH_FSWSEG_V 0x2d0b
#define MASK_FSWSEG_V 0x1ffff
#define MATCH_SETVL 0xf3
#define MASK_SETVL 0x3fffff
#define MATCH_FADD_D 0xd3
@ -319,6 +381,10 @@
#define MASK_RDNPC 0x7ffffff
#define MATCH_FCVT_S_L 0xc053
#define MASK_FCVT_S_L 0x3ff1ff
#define MATCH_SHSEG_V 0x288b
#define MASK_SHSEG_V 0x1ffff
#define MATCH_FMOV_US 0x1818b
#define MASK_FMOV_US 0x1ffff
#define MATCH_FCVT_LU_D 0x90d3
#define MASK_FCVT_LU_D 0x3ff1ff
#define MATCH_UNIMP 0x0
@ -327,7 +393,7 @@
#define MASK_FSUB_D 0x1f1ff
#define MATCH_FMADD_S 0x43
#define MASK_FMADD_S 0x1ff
#define MATCH_LBUST_V 0xa0b
#define MATCH_LBUST_V 0x120b
#define MASK_LBUST_V 0x1ffff
#define MATCH_FSQRT_S 0x4053
#define MASK_FSQRT_S 0x3ff1ff
@ -335,6 +401,8 @@
#define MASK_AMOMIN_W 0x1ffff
#define MATCH_FSGNJN_S 0x6053
#define MASK_FSGNJN_S 0x1ffff
#define MATCH_LWSEGST_V 0x10f
#define MASK_LWSEGST_V 0xfff
#define MATCH_AMOSWAP_D 0x5ab
#define MASK_AMOSWAP_D 0x1ffff
#define MATCH_FENCE_L_V 0x22f
@ -345,8 +413,8 @@
#define MASK_FDIV_D 0x1f1ff
#define MATCH_FMADD_D 0xc3
#define MASK_FMADD_D 0x1ff
#define MATCH_SD_V 0x58b
#define MASK_SD_V 0xf83e0fff
#define MATCH_SD_V 0x98b
#define MASK_SD_V 0x3fffff
#define MATCH_DIVW 0x63b
#define MASK_DIVW 0x1ffff
#define MATCH_AMOMIN_D 0x11ab
@ -355,26 +423,30 @@
#define MASK_DIVU 0x1ffff
#define MATCH_AMOSWAP_W 0x52b
#define MASK_AMOSWAP_W 0x1ffff
#define MATCH_MOV_VV 0x1f3
#define MATCH_SWSEGST_V 0x90f
#define MASK_SWSEGST_V 0xfff
#define MATCH_MOV_VV 0x1000b
#define MASK_MOV_VV 0x3fffff
#define MATCH_LWST_V 0x90b
#define MATCH_LWST_V 0x110b
#define MASK_LWST_V 0x1ffff
#define MATCH_FADD_S 0x53
#define MASK_FADD_S 0x1f1ff
#define MATCH_SDST_V 0xd8b
#define MASK_SDST_V 0xf8000fff
#define MATCH_SDST_V 0x198b
#define MASK_SDST_V 0x1ffff
#define MATCH_FSD 0x1a7
#define MASK_FSD 0x3ff
#define MATCH_FMOV_VV 0x273
#define MATCH_FMOV_VV 0x1800b
#define MASK_FMOV_VV 0x3fffff
#define MATCH_LHSEGST_V 0x8f
#define MASK_LHSEGST_V 0xfff
#define MATCH_SW 0x123
#define MASK_SW 0x3ff
#define MATCH_FMSUB_S 0x47
#define MASK_FMSUB_S 0x1ff
#define MATCH_SHST_V 0xc8b
#define MASK_SHST_V 0xf8000fff
#define MATCH_SB_V 0x40b
#define MASK_SB_V 0xf83e0fff
#define MATCH_SHST_V 0x188b
#define MASK_SHST_V 0x1ffff
#define MATCH_SB_V 0x80b
#define MASK_SB_V 0x3fffff
#define MATCH_LHU 0x283
#define MASK_LHU 0x3ff
#define MATCH_SH 0xa3

Loading…
Cancel
Save