Project

General

Profile

RISC-V Instruction Set » History » Revision 16

Revision 15 (Andrei Tatarnikov, 07/26/2018 02:41 PM) → Revision 16/50 (Andrei Tatarnikov, 07/26/2018 02:46 PM)

h1. RISC-V Instruction Set 

 {font-weight:bold; background:#ddd}. |/2. *Category* |\2. *RISC-V (Version 2.2)* |\2. *MicroTESK* | 
 {background:#dde}. | *Instructions* | *Amount* | *Instructions* | *Amount* | 
 {background:#fcc}. | Arithmetic Logic Unit | ADDI 
 SLTI 
 SLTIU 
 XLEN 
 ANDI 
 ORI 
 XORI 
 SRLI 
 SLLI 
 LUI 
 AUIPC 
 ADD 
 SUB 
 SLT 
 SLTU 
 AND 
 OR 
 XOR 
 SLL 
 SRL 
 SRA | 21+ |    | 0+ | 
 {background:#fcc}. | Branch| JAL 
 JALR 
 BEQ 
 BNE 
 BLT 
 BLTU 
 BGE 
 BGEU 
 BGT 
 BGTU 
 BLE 
 BLEU 
 BLT 
 BLTU 
 BGE 
 BGEU | 16 |    | 0+ | 
 {background:#ff9}. | Memory Access | LW 
 LH 
 LHU 
 LB 
 LBU 
 SW 
 SH 
 SB | 8 |    | 0 | 
 {background:#fcc}. | System | CSRRW 
 CSRRS 
 CSRRC 
 CSRRWI 
 CSRRSI 
 CSRRCI 
 RDCYCLE 
 RDTIME 
 RDINSTRET | 9 |    | 0 | 
 {background:#cfc}. | Other | NOP | 1 | NOP | 1 | 
 {background:#ddd}. | Total: || 65 |    | 1+ | 

 {background:#cfc}. |100%| 
 {background:#ff9}. |50+%| 
 {background:#fcc}. |0+%| 


 h1. Instructions supported by MicroTESK for RISC-V 

 {font-weight:bold; background:#ddd}. | Instruction Set | Instructions | Specified | Validated | 
 | RV32I     |    |    ?    | ?    | 
 | RV64I     |    |    ?    | ?    | 
 {background:#cfc}. | *RV32M* | MUL 
           MULH 
           MULHSU 
           MULHU 
           DIV 
           DIVU 
           REM 
           REMU | Yes (8/8) | Yes (8/8) | 
 {background:#cfc}. | *RV64M* | MULW 
           DIVW 
           DIVUW 
           REMW 
           REMUW | Yes (5/5) | Yes (5/5) | 
 {background:#cfc}. | *RV32A* | LR.W 
           SC.W 
           AMOSWAP.W 
           AMOADD.W 
           AMOXOR.W 
           AMOAND.W 
           AMOOR.W 
           AMOMIN.W 
           AMOMAX.W 
           AMOMINU.W 
           AMOMAXU.W | Yes (11/11) | Yes (11/11) | 
 {background:#cfc}. | *RV64A* | LR.D 
            SC.D 
            AMOSWAP.D 
            AMOADD.D 
            AMOXOR.D 
            AMOAND.D 
            AMOOR.D 
            AMOMIN.D 
            AMOMAX.D 
            AMOMINU.D 
            AMOMAXU.D | Yes (11/11) | Yes (11/11) | 
 {background:#ff9}. | *RV32F* | FLW 
                              FSW 
                              FMADD.S 
                              FMSUB.S 
                              FNMSUB.S 
                              FNMADD.S 
                              FADD.S 
                              FSUB.S 
                              FMUL.S 
                              FDIV.S 
                              FSQRT.S 
                              FSGNJ.S 
                              FSGNJN.S 
                              FSGNJX.S 
                              FMIN.S 
                              FMAX.S 
                              FCVT.W.S 
                              FCVT.WU.S 
                              FMV.X.W (FMV.X.S) 
                              FEQ.S 
                              FLT.S 
                              FLE.S 
                              FCLASS.S 
                              FCVT.S.W 
                              FCVT.S.WU 
                              FMV.W.X (FMV.S.X) |    Yes (26/26)    |    Partially (?/26)    | 
 {background:#ff9}. | *RV64F* RV64F    |    FCVT.L.S 
                                 
                                                    FCVT.LU.S 
                                 
                                                    FCVT.S.L 
                                 
                                                    FCVT.S.LU | Yes (4/4)    4    | Partially (?/4) No | 
 {background:#ff9}. | RV32D    | FLD 
                                                    FSD 
                                                    FMADD.D 
                                                    FMSUB.D 
                                                    FNMSUB.D 
                                                    FNMADD.D 
                                                    FADD.D 
                                                    FSUB.D 
                                                    FMUL.D 
                                                    FDIV.D 
                                                    FSQRT.D 
                                                    FSGNJ.D 
                                                    FSGNJN.D 
                                                    FSGNJX.D 
                                                    FMIN.D 
                                                    FMAX.D 
                                                    FCVT.S.D 
                                                    FCVT.D.S 
                                                    FEQ.D 
                                                    FLT.D 
                                                    FLE.D 
                                                    FCLASS.D 
                                                    FCVT.W.D 
                                                    FCVT.WU.D 
                                                    FCVT.D.W 
                                                    FCVT.D.WU |    26    | No    | 
 {background:#ff9}. | RV64D    | FCVT.L.D 
                                                    FCVT.LU.D 
                                                    FMV.X.D 
                                                    FCVT.D.L 
                                                    FCVT.D.LU 
                                                    FMV.D.X          |     6    | No    | 
 {background:#ddd}. | Total |    |     | | 

 {background:#cfc}. |    Fully supported | 
 {background:#ff9}. |    Partially supported | 
 {background:#fcc}. |    Unsupported |