diff options
author | Yunsup Lee <yunsup@cs.berkeley.edu> | 2011-04-04 01:16:10 -0700 |
---|---|---|
committer | Yunsup Lee <yunsup@cs.berkeley.edu> | 2011-04-04 02:10:14 -0700 |
commit | 3cfe170bfa95adc42b1fd1db6a2835c6efaaef5d (patch) | |
tree | 84030e8e0b06caa5de7dffded1414d4833440541 | |
parent | ae7b2fd1908de02780d49158fd56cc871f88730e (diff) | |
download | pk-3cfe170bfa95adc42b1fd1db6a2835c6efaaef5d.zip pk-3cfe170bfa95adc42b1fd1db6a2835c6efaaef5d.tar.gz pk-3cfe170bfa95adc42b1fd1db6a2835c6efaaef5d.tar.bz2 |
[opcodes,pk,sim,xcc] add vector mem instructions
-rw-r--r-- | pk/riscv-opc.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/pk/riscv-opc.h b/pk/riscv-opc.h index 22262d7..461d699 100644 --- a/pk/riscv-opc.h +++ b/pk/riscv-opc.h @@ -3,6 +3,10 @@ #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_LWU_V 0x30b +#define MASK_LWU_V 0x3fffff #define MATCH_BLTU 0x363 #define MASK_BLTU 0x3ff #define MATCH_FCVT_LU_S 0x9053 @@ -39,6 +43,8 @@ #define MASK_MTPCR 0xf801ffff #define MATCH_FCVT_S_D 0x11053 #define MASK_FCVT_S_D 0x3ff1ff +#define MATCH_LBU_V 0x20b +#define MASK_LBU_V 0x3fffff #define MATCH_BGEU 0x3e3 #define MASK_BGEU 0x3ff #define MATCH_DI 0xfb @@ -49,12 +55,20 @@ #define MASK_STOP 0xffffffff #define MATCH_BREAK 0xf7 #define MASK_BREAK 0xffffffff +#define MATCH_LBST_V 0x80b +#define MASK_LBST_V 0x1ffff #define MATCH_FCVT_S_W 0xe053 #define MASK_FCVT_S_W 0x3ff1ff #define MATCH_MUL 0x433 #define MASK_MUL 0x1ffff +#define MATCH_SBST_V 0xc0b +#define MASK_SBST_V 0xf8000fff +#define MATCH_FLD_V 0x18f +#define MASK_FLD_V 0x3fffff #define MATCH_AMOMINU_D 0x19ab #define MASK_AMOMINU_D 0x1ffff +#define MATCH_LHST_V 0x88b +#define MASK_LHST_V 0x1ffff #define MATCH_UTIDX 0x1f7 #define MASK_UTIDX 0xffffffff #define MATCH_SRLI 0x293 @@ -79,16 +93,22 @@ #define MASK_EI 0x7ffffff #define MATCH_FENCE 0x12f #define MASK_FENCE 0x3ff +#define MATCH_LHUST_V 0xa8b +#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_FLE_S 0x17053 #define MASK_FLE_S 0x1ffff +#define MATCH_LD_V 0x18b +#define MASK_LD_V 0x3fffff #define MATCH_MFFSR 0x1d053 #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_FLE_D 0x170d3 #define MASK_FLE_D 0x1ffff #define MATCH_FENCE_I 0xaf @@ -99,6 +119,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_XOR 0x233 #define MASK_XOR 0x1ffff #define MATCH_SUB 0x10033 @@ -137,12 +159,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_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_FEQ_S 0x15053 #define MASK_FEQ_S 0x1ffff #define MATCH_FSGNJX_D 0x70d3 @@ -151,8 +177,12 @@ #define MASK_SRA 0x1ffff #define MATCH_BGE 0x2e3 #define MASK_BGE 0x3ff +#define MATCH_LB_V 0xb +#define MASK_LB_V 0x3fffff #define MATCH_SRAIW 0x1029b #define MASK_SRAIW 0x3f83ff +#define MATCH_LDST_V 0x98b +#define MASK_LDST_V 0x1ffff #define MATCH_SRL 0x2b3 #define MASK_SRL 0x1ffff #define MATCH_FSGNJX_S 0x7053 @@ -175,6 +205,8 @@ #define MASK_AMOMAXU_D 0x1ffff #define MATCH_JALR_J 0x16b #define MASK_JALR_J 0x3ff +#define MATCH_LH_V 0x8b +#define MASK_LH_V 0x3fffff #define MATCH_XORI 0x213 #define MASK_XORI 0x3ff #define MATCH_JALR_R 0xeb @@ -183,8 +215,12 @@ #define MASK_AMOMAXU_W 0x1ffff #define MATCH_FCVT_WU_S 0xb053 #define MASK_FCVT_WU_S 0x3ff1ff +#define MATCH_LHU_V 0x28b +#define MASK_LHU_V 0x3fffff #define MATCH_ANDI 0x393 #define MASK_ANDI 0x3ff +#define MATCH_FSW_V 0x50f +#define MASK_FSW_V 0xf83e0fff #define MATCH_FSGNJN_D 0x60d3 #define MASK_FSGNJN_D 0x1ffff #define MATCH_FNMADD_S 0x4f @@ -193,6 +229,8 @@ #define MASK_JAL 0x7f #define MATCH_LWU 0x303 #define MASK_LWU 0x3ff +#define MATCH_FLDST_V 0x98f +#define MASK_FLDST_V 0x1ffff #define MATCH_FNMADD_D 0xcf #define MASK_FNMADD_D 0x1ff #define MATCH_FENCE_G_CV 0x3af @@ -201,6 +239,8 @@ #define MASK_AMOADD_D 0x1ffff #define MATCH_AMOMAX_W 0x152b #define MASK_AMOMAX_W 0x1ffff +#define MATCH_FLW_V 0x10f +#define MASK_FLW_V 0x3fffff #define MATCH_FCVT_W_S 0xa053 #define MASK_FCVT_W_S 0x3ff1ff #define MATCH_MULHSU 0x533 @@ -213,6 +253,10 @@ #define MASK_AMOMAX_D 0x1ffff #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 MASK_LWUST_V 0x1ffff #define MATCH_SLT 0x133 #define MASK_SLT 0x1ffff #define MATCH_MXTF_D 0x1e0d3 @@ -231,6 +275,8 @@ #define MASK_REMW 0x1ffff #define MATCH_SLTU 0x1b3 #define MASK_SLTU 0x1ffff +#define MATCH_FLWST_V 0x90f +#define MASK_FLWST_V 0x1ffff #define MATCH_SLLI 0x93 #define MASK_SLLI 0x3f03ff #define MATCH_AMOOR_W 0xd2b @@ -247,6 +293,8 @@ #define MASK_AND 0x1ffff #define MATCH_LBU 0x203 #define MASK_LBU 0x3ff +#define MATCH_SH_V 0x48b +#define MASK_SH_V 0xf83e0fff #define MATCH_SYSCALL 0x77 #define MASK_SYSCALL 0xffffffff #define MATCH_FSGNJ_S 0x5053 @@ -273,6 +321,8 @@ #define MASK_FSUB_D 0x1f1ff #define MATCH_FMADD_S 0x43 #define MASK_FMADD_S 0x1ff +#define MATCH_LBUST_V 0xa0b +#define MASK_LBUST_V 0x1ffff #define MATCH_FSQRT_S 0x4053 #define MASK_FSQRT_S 0x3ff1ff #define MATCH_AMOMIN_W 0x112b @@ -289,6 +339,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_DIVW 0x63b #define MASK_DIVW 0x1ffff #define MATCH_AMOMIN_D 0x11ab @@ -297,14 +349,22 @@ #define MASK_DIVU 0x1ffff #define MATCH_AMOSWAP_W 0x52b #define MASK_AMOSWAP_W 0x1ffff +#define MATCH_LWST_V 0x90b +#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_FSD 0x1a7 #define MASK_FSD 0x3ff #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_LHU 0x283 #define MASK_LHU 0x3ff #define MATCH_SH 0xa3 |