Exemplo n.º 1
0
 class MulDivInst(Enum):
     MUL = Enum.Auto()
     MULH = Enum.Auto()
     MULHU = Enum.Auto()
     MULHSU = Enum.Auto()
     DIV = Enum.Auto()
     DIVU = Enum.Auto()
     REM = Enum.Auto()
     REMU = Enum.Auto()
Exemplo n.º 2
0
 class ArithInst(Enum):
     ADD = Enum.Auto()
     SUB = Enum.Auto()
     SLT = Enum.Auto()
     SLTU = Enum.Auto()
     AND = Enum.Auto()
     OR = Enum.Auto()
     XOR = Enum.Auto()
Exemplo n.º 3
0
 class LoadInst(Enum):
     LB = Enum.Auto()
     LBU = Enum.Auto()
     LH = Enum.Auto()
     LHU = Enum.Auto()
     LW = Enum.Auto()
     LWU = Enum.Auto()
     LD = Enum.Auto()
Exemplo n.º 4
0
 class BranchInst(Enum):
     BEQ = Enum.Auto()
     BNE = Enum.Auto()
     BLT = Enum.Auto()
     BLTU = Enum.Auto()
     BGE = Enum.Auto()
     BGEU = Enum.Auto()
Exemplo n.º 5
0
 class RM(Enum):
     RNE = Enum.Auto()
     RTZ = Enum.Auto()
     RDN = Enum.Auto()
     RUP = Enum.Auto()
     RMM = Enum.Auto()
     DYN = Enum.Auto()
Exemplo n.º 6
0
    class I2Inst(Enum):
        # Arith
        # ADDI - Traps
        ADDIU = Enum.Auto()

        # Logical
        ANDI = Enum.Auto()
        ORI = Enum.Auto()
        XORI = Enum.Auto()

        # Conditions
        SLTI = Enum.Auto()
        SLTIU = Enum.Auto()
Exemplo n.º 7
0
    class R2Inst(Enum):
        # Arith
        CLO = Enum.Auto()
        CLZ = Enum.Auto()
        SEB = Enum.Auto()
        SEH = Enum.Auto()

        #Logic
        WSBH = Enum.Auto()

        # Mul / Div
        DIV = Enum.Auto()
        DIVU = Enum.Auto()
        MADD = Enum.Auto()
        MADDU = Enum.Auto()
        MSUB = Enum.Auto()
        MSUBU = Enum.Auto()
        MULT = Enum.Auto()
        MULTU = Enum.Auto()
Exemplo n.º 8
0
 class RsInst(Enum):
     ROTR = Enum.Auto()
     SLL = Enum.Auto()
     SRA = Enum.Auto()
     SRL = Enum.Auto()
Exemplo n.º 9
0
 class RlmInst(Enum):
     EXT = Enum.Auto()
     INS = Enum.Auto()
Exemplo n.º 10
0
 class FPMinMaxInst(Enum):
     MIN = Enum.Auto()
     MAX = Enum.Auto()
Exemplo n.º 11
0
 class Opcode(Enum):
     ADD = Enum.Auto()
     SUB = Enum.Auto()
     AND = Enum.Auto()
     OR = Enum.Auto()
Exemplo n.º 12
0
 class StoreInst(Enum):
     SB = Enum.Auto()
     SH = Enum.Auto()
     SW = Enum.Auto()
     SD = Enum.Auto()
Exemplo n.º 13
0
 class FPFusedInst(Enum):
     FMA = Enum.Auto()
     FNMA = Enum.Auto()
     FMS = Enum.Auto()
     FNMS = Enum.Auto()
Exemplo n.º 14
0
 class TF(Enum):
     T = Enum.Auto()
     F = Enum.Auto()
Exemplo n.º 15
0
 class FPComputeInst(Enum):
     FADD = Enum.Auto()
     FSUB = Enum.Auto()
     FMUL = Enum.Auto()
     FDIV = Enum.Auto()
Exemplo n.º 16
0
 class Opcode(Enum):
     NOR = Enum.Auto()
     JMP = Enum.Auto()
Exemplo n.º 17
0
 class ALUOp(Enum):
     AND = Enum.Auto()
     OR = Enum.Auto()
     XOR = Enum.Auto()
     ADD = Enum.Auto()
     MUL = Enum.Auto()
     DIV = Enum.Auto()
     # could definitely do this by resuing the other instructions
     # putting flags in the second output.  I am lazy and it doesn't
     # matter
     LT = Enum.Auto()
     # Should put shifts in the own unit but whatever
     SHL = Enum.Auto()
     SHR = Enum.Auto()
     ROT = Enum.Auto()
     MOV = Enum.Auto()
     # Same for the bit twiddling ops
     CLO = Enum.Auto()
Exemplo n.º 18
0
 class BitInst(Enum):
     POPCNT = Enum.Auto()
     CNTLZ = Enum.Auto()
     CNTTZ = Enum.Auto()
Exemplo n.º 19
0
 class FPOther(Enum):
     FSQRT = Enum.Auto()
     FCLASS = Enum.Auto()
Exemplo n.º 20
0
 class FPCompareInst(Enum):
     EQ = Enum.Auto()
     LT = Enum.Auto()
     LE = Enum.Auto()
Exemplo n.º 21
0
 class LOHI(Enum):
     LO = Enum.Auto()
     HI = Enum.Auto()
Exemplo n.º 22
0
 class Tag(Enum):
     tag_a = Enum.Auto()
     tag_i = 1
Exemplo n.º 23
0
    class R3Inst(Enum):
        # Arith
        # ADD - Traps
        ADDU = Enum.Auto()
        # SUB - Traps
        SUBU = Enum.Auto()

        # Shifts
        ROTRV = Enum.Auto()
        SLLV = Enum.Auto()
        SRAV = Enum.Auto()
        SRLV = Enum.Auto()

        # Logic
        AND = Enum.Auto()
        NOR = Enum.Auto()
        OR = Enum.Auto()
        XOR = Enum.Auto()

        # Conditions
        MOVN = Enum.Auto()
        MOVZ = Enum.Auto()
        SLT = Enum.Auto()
        SLTU = Enum.Auto()

        # Mul / Div
        MUL = Enum.Auto()
Exemplo n.º 24
0
 class ShiftInst(Enum):
     SLL = Enum.Auto()
     SRL = Enum.Auto()
     SRA = Enum.Auto()