From 62c4080585e9681a68de5afcc461bbbe3bcaabf4 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 25 Jul 2017 15:17:26 -0700 Subject: [PATCH] Add RVC instruction patterns --- src/main/scala/rocket/Instructions.scala | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/scala/rocket/Instructions.scala b/src/main/scala/rocket/Instructions.scala index af61ea77..3e25dfab 100644 --- a/src/main/scala/rocket/Instructions.scala +++ b/src/main/scala/rocket/Instructions.scala @@ -171,6 +171,38 @@ object Instructions { def FMSUB_D = BitPat("b?????01??????????????????1000111") def FNMSUB_D = BitPat("b?????01??????????????????1001011") def FNMADD_D = BitPat("b?????01??????????????????1001111") + def C_ADDI4SPN = BitPat("b????????????????000???????????00") + def C_FLD = BitPat("b????????????????001???????????00") + def C_LW = BitPat("b????????????????010???????????00") + def C_FLW = BitPat("b????????????????011???????????00") + def C_FSD = BitPat("b????????????????101???????????00") + def C_SW = BitPat("b????????????????110???????????00") + def C_FSW = BitPat("b????????????????111???????????00") + def C_ADDI = BitPat("b????????????????000???????????01") + def C_JAL = BitPat("b????????????????001???????????01") + def C_LI = BitPat("b????????????????010???????????01") + def C_LUI = BitPat("b????????????????011???????????01") + def C_SRLI = BitPat("b????????????????100?00????????01") + def C_SRAI = BitPat("b????????????????100?01????????01") + def C_ANDI = BitPat("b????????????????100?10????????01") + def C_SUB = BitPat("b????????????????100011???00???01") + def C_XOR = BitPat("b????????????????100011???01???01") + def C_OR = BitPat("b????????????????100011???10???01") + def C_AND = BitPat("b????????????????100011???11???01") + def C_SUBW = BitPat("b????????????????100111???00???01") + def C_ADDW = BitPat("b????????????????100111???01???01") + def C_J = BitPat("b????????????????101???????????01") + def C_BEQZ = BitPat("b????????????????110???????????01") + def C_BNEZ = BitPat("b????????????????111???????????01") + def C_SLLI = BitPat("b????????????????000???????????10") + def C_FLDSP = BitPat("b????????????????001???????????10") + def C_LWSP = BitPat("b????????????????010???????????10") + def C_FLWSP = BitPat("b????????????????011???????????10") + def C_MV = BitPat("b????????????????1000??????????10") + def C_ADD = BitPat("b????????????????1001??????????10") + def C_FSDSP = BitPat("b????????????????101???????????10") + def C_SWSP = BitPat("b????????????????110???????????10") + def C_FSWSP = BitPat("b????????????????111???????????10") def CUSTOM0 = BitPat("b?????????????????000?????0001011") def CUSTOM0_RS1 = BitPat("b?????????????????010?????0001011") def CUSTOM0_RS1_RS2 = BitPat("b?????????????????011?????0001011")