Nugget
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Typedefs | Functions
Mips::Encoder Namespace Reference

Typedefs

using Reg = Mips::Reg
 

Functions

constexpr uint32_t iclass (uint32_t v)
 
constexpr uint32_t dstVal (Reg r)
 
constexpr uint32_t tgtVal (Reg r)
 
constexpr uint32_t srcVal (Reg r)
 
constexpr uint32_t add (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t add (Reg dst, Reg tgt)
 
constexpr uint32_t addu (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t addu (Reg dst, Reg tgt)
 
constexpr uint32_t addi (Reg tgt, Reg src, int16_t value)
 
constexpr uint32_t addi (Reg tgt, int16_t value)
 
constexpr uint32_t addiu (Reg tgt, Reg src, int16_t value)
 
constexpr uint32_t addiu (Reg tgt, int16_t value)
 
constexpr uint32_t andd (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t andd (Reg dst, Reg tgt)
 
constexpr uint32_t andi (Reg tgt, Reg src, uint16_t value)
 
constexpr uint32_t andi (Reg tgt, uint16_t value)
 
constexpr uint32_t lui (Reg tgt, uint16_t value)
 
constexpr uint32_t nor (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t nor (Reg dst, Reg tgt)
 
constexpr uint32_t orr (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t orr (Reg dst, Reg tgt)
 
constexpr uint32_t ori (Reg tgt, Reg src, uint16_t value)
 
constexpr uint32_t ori (Reg tgt, uint16_t value)
 
constexpr uint32_t slt (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t slt (Reg dst, Reg tgt)
 
constexpr uint32_t sltu (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t sltu (Reg dst, Reg tgt)
 
constexpr uint32_t slti (Reg tgt, Reg src, int16_t value)
 
constexpr uint32_t slti (Reg tgt, int16_t value)
 
constexpr uint32_t sltiu (Reg tgt, Reg src, uint16_t value)
 
constexpr uint32_t sltiu (Reg tgt, uint16_t value)
 
constexpr uint32_t sub (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t sub (Reg dst, Reg tgt)
 
constexpr uint32_t subu (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t subu (Reg dst, Reg tgt)
 
constexpr uint32_t xorr (Reg dst, Reg src, Reg tgt)
 
constexpr uint32_t xorr (Reg dst, Reg tgt)
 
constexpr uint32_t xori (Reg tgt, Reg src, uint16_t value)
 
constexpr uint32_t xori (Reg tgt, uint16_t value)
 
constexpr uint32_t sll (Reg dst, Reg tgt, uint16_t sa)
 
constexpr uint32_t sll (Reg dst, uint16_t sa)
 
constexpr uint32_t sllv (Reg dst, Reg tgt, Reg src)
 
constexpr uint32_t sllv (Reg dst, Reg src)
 
constexpr uint32_t sra (Reg dst, Reg tgt, uint16_t sa)
 
constexpr uint32_t sra (Reg dst, uint16_t sa)
 
constexpr uint32_t srav (Reg dst, Reg tgt, Reg src)
 
constexpr uint32_t srav (Reg dst, Reg src)
 
constexpr uint32_t srl (Reg dst, Reg tgt, uint16_t sa)
 
constexpr uint32_t srl (Reg dst, uint16_t sa)
 
constexpr uint32_t srlv (Reg dst, Reg tgt, Reg src)
 
constexpr uint32_t srlv (Reg dst, Reg src)
 
constexpr uint32_t div (Reg src, Reg tgt)
 
constexpr uint32_t divu (Reg src, Reg tgt)
 
constexpr uint32_t mfhi (Reg dst)
 
constexpr uint32_t mflo (Reg dst)
 
constexpr uint32_t mthi (Reg dst)
 
constexpr uint32_t mtlo (Reg dst)
 
constexpr uint32_t mult (Reg src, Reg tgt)
 
constexpr uint32_t multu (Reg src, Reg tgt)
 
constexpr uint32_t beq (Reg src, Reg tgt, int16_t offset)
 
constexpr uint32_t bgez (Reg src, int16_t offset)
 
constexpr uint32_t bgezal (Reg src, int16_t offset)
 
constexpr uint32_t bgtz (Reg src, int16_t offset)
 
constexpr uint32_t blez (Reg src, int16_t offset)
 
constexpr uint32_t bltz (Reg src, int16_t offset)
 
constexpr uint32_t bltzal (Reg src, int16_t offset)
 
constexpr uint32_t bne (Reg src, Reg tgt, int16_t offset)
 
constexpr uint32_t brk (uint32_t code)
 
constexpr uint32_t j (uint32_t addr)
 
constexpr uint32_t jal (uint32_t addr)
 
constexpr uint32_t jalr (Reg src, Reg dst=Reg::RA)
 
constexpr uint32_t jr (Reg src)
 
constexpr uint32_t syscall ()
 
constexpr uint32_t lb (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t lbu (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t lh (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t lhu (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t lw (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t lwl (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t lwr (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t sb (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t sh (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t sw (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t swl (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t swr (Reg tgt, int16_t offset, Reg src)
 
constexpr uint32_t mfc0 (Reg tgt, uint8_t dst)
 
constexpr uint32_t mtc0 (Reg tgt, uint8_t dst)
 
constexpr uint32_t rfe ()
 
constexpr uint32_t nop ()
 
constexpr uint32_t li (Reg tgt, int16_t value)
 
constexpr uint32_t liu (Reg tgt, uint16_t value)
 
constexpr uint32_t move (Reg tgt, Reg src)
 
constexpr uint32_t nott (Reg tgt, Reg src)
 
constexpr uint32_t nott (Reg tgt)
 
constexpr uint32_t neg (Reg tgt, Reg src)
 
constexpr uint32_t neg (Reg tgt)
 
constexpr uint32_t b (int16_t offset)
 
constexpr uint32_t beqz (Reg tgt, int16_t offset)
 
constexpr uint32_t bnez (Reg tgt, int16_t offset)
 
constexpr uint32_t bal (int16_t offset)
 

Typedef Documentation

◆ Reg

using Mips::Encoder::Reg = typedef Mips::Reg

Function Documentation

◆ add() [1/2]

constexpr uint32_t Mips::Encoder::add ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ add() [2/2]

constexpr uint32_t Mips::Encoder::add ( Reg  dst,
Reg  tgt 
)
constexpr

◆ addi() [1/2]

constexpr uint32_t Mips::Encoder::addi ( Reg  tgt,
int16_t  value 
)
constexpr

◆ addi() [2/2]

constexpr uint32_t Mips::Encoder::addi ( Reg  tgt,
Reg  src,
int16_t  value 
)
constexpr

◆ addiu() [1/2]

constexpr uint32_t Mips::Encoder::addiu ( Reg  tgt,
int16_t  value 
)
constexpr

◆ addiu() [2/2]

constexpr uint32_t Mips::Encoder::addiu ( Reg  tgt,
Reg  src,
int16_t  value 
)
constexpr

◆ addu() [1/2]

constexpr uint32_t Mips::Encoder::addu ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ addu() [2/2]

constexpr uint32_t Mips::Encoder::addu ( Reg  dst,
Reg  tgt 
)
constexpr

◆ andd() [1/2]

constexpr uint32_t Mips::Encoder::andd ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ andd() [2/2]

constexpr uint32_t Mips::Encoder::andd ( Reg  dst,
Reg  tgt 
)
constexpr

◆ andi() [1/2]

constexpr uint32_t Mips::Encoder::andi ( Reg  tgt,
Reg  src,
uint16_t  value 
)
constexpr

◆ andi() [2/2]

constexpr uint32_t Mips::Encoder::andi ( Reg  tgt,
uint16_t  value 
)
constexpr

◆ b()

constexpr uint32_t Mips::Encoder::b ( int16_t  offset)
constexpr

◆ bal()

constexpr uint32_t Mips::Encoder::bal ( int16_t  offset)
constexpr

◆ beq()

constexpr uint32_t Mips::Encoder::beq ( Reg  src,
Reg  tgt,
int16_t  offset 
)
constexpr

◆ beqz()

constexpr uint32_t Mips::Encoder::beqz ( Reg  tgt,
int16_t  offset 
)
constexpr

◆ bgez()

constexpr uint32_t Mips::Encoder::bgez ( Reg  src,
int16_t  offset 
)
constexpr

◆ bgezal()

constexpr uint32_t Mips::Encoder::bgezal ( Reg  src,
int16_t  offset 
)
constexpr

◆ bgtz()

constexpr uint32_t Mips::Encoder::bgtz ( Reg  src,
int16_t  offset 
)
constexpr

◆ blez()

constexpr uint32_t Mips::Encoder::blez ( Reg  src,
int16_t  offset 
)
constexpr

◆ bltz()

constexpr uint32_t Mips::Encoder::bltz ( Reg  src,
int16_t  offset 
)
constexpr

◆ bltzal()

constexpr uint32_t Mips::Encoder::bltzal ( Reg  src,
int16_t  offset 
)
constexpr

◆ bne()

constexpr uint32_t Mips::Encoder::bne ( Reg  src,
Reg  tgt,
int16_t  offset 
)
constexpr

◆ bnez()

constexpr uint32_t Mips::Encoder::bnez ( Reg  tgt,
int16_t  offset 
)
constexpr

◆ brk()

constexpr uint32_t Mips::Encoder::brk ( uint32_t  code)
constexpr

◆ div()

constexpr uint32_t Mips::Encoder::div ( Reg  src,
Reg  tgt 
)
constexpr

◆ divu()

constexpr uint32_t Mips::Encoder::divu ( Reg  src,
Reg  tgt 
)
constexpr

◆ dstVal()

constexpr uint32_t Mips::Encoder::dstVal ( Reg  r)
constexpr

◆ iclass()

constexpr uint32_t Mips::Encoder::iclass ( uint32_t  v)
constexpr

◆ j()

constexpr uint32_t Mips::Encoder::j ( uint32_t  addr)
constexpr

◆ jal()

constexpr uint32_t Mips::Encoder::jal ( uint32_t  addr)
constexpr

◆ jalr()

constexpr uint32_t Mips::Encoder::jalr ( Reg  src,
Reg  dst = Reg::RA 
)
constexpr

◆ jr()

constexpr uint32_t Mips::Encoder::jr ( Reg  src)
constexpr

◆ lb()

constexpr uint32_t Mips::Encoder::lb ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ lbu()

constexpr uint32_t Mips::Encoder::lbu ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ lh()

constexpr uint32_t Mips::Encoder::lh ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ lhu()

constexpr uint32_t Mips::Encoder::lhu ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ li()

constexpr uint32_t Mips::Encoder::li ( Reg  tgt,
int16_t  value 
)
constexpr

◆ liu()

constexpr uint32_t Mips::Encoder::liu ( Reg  tgt,
uint16_t  value 
)
constexpr

◆ lui()

constexpr uint32_t Mips::Encoder::lui ( Reg  tgt,
uint16_t  value 
)
constexpr

◆ lw()

constexpr uint32_t Mips::Encoder::lw ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ lwl()

constexpr uint32_t Mips::Encoder::lwl ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ lwr()

constexpr uint32_t Mips::Encoder::lwr ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ mfc0()

constexpr uint32_t Mips::Encoder::mfc0 ( Reg  tgt,
uint8_t  dst 
)
constexpr

◆ mfhi()

constexpr uint32_t Mips::Encoder::mfhi ( Reg  dst)
constexpr

◆ mflo()

constexpr uint32_t Mips::Encoder::mflo ( Reg  dst)
constexpr

◆ move()

constexpr uint32_t Mips::Encoder::move ( Reg  tgt,
Reg  src 
)
constexpr

◆ mtc0()

constexpr uint32_t Mips::Encoder::mtc0 ( Reg  tgt,
uint8_t  dst 
)
constexpr

◆ mthi()

constexpr uint32_t Mips::Encoder::mthi ( Reg  dst)
constexpr

◆ mtlo()

constexpr uint32_t Mips::Encoder::mtlo ( Reg  dst)
constexpr

◆ mult()

constexpr uint32_t Mips::Encoder::mult ( Reg  src,
Reg  tgt 
)
constexpr

◆ multu()

constexpr uint32_t Mips::Encoder::multu ( Reg  src,
Reg  tgt 
)
constexpr

◆ neg() [1/2]

constexpr uint32_t Mips::Encoder::neg ( Reg  tgt)
constexpr

◆ neg() [2/2]

constexpr uint32_t Mips::Encoder::neg ( Reg  tgt,
Reg  src 
)
constexpr

◆ nop()

constexpr uint32_t Mips::Encoder::nop ( )
constexpr

◆ nor() [1/2]

constexpr uint32_t Mips::Encoder::nor ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ nor() [2/2]

constexpr uint32_t Mips::Encoder::nor ( Reg  dst,
Reg  tgt 
)
constexpr

◆ nott() [1/2]

constexpr uint32_t Mips::Encoder::nott ( Reg  tgt)
constexpr

◆ nott() [2/2]

constexpr uint32_t Mips::Encoder::nott ( Reg  tgt,
Reg  src 
)
constexpr

◆ ori() [1/2]

constexpr uint32_t Mips::Encoder::ori ( Reg  tgt,
Reg  src,
uint16_t  value 
)
constexpr

◆ ori() [2/2]

constexpr uint32_t Mips::Encoder::ori ( Reg  tgt,
uint16_t  value 
)
constexpr

◆ orr() [1/2]

constexpr uint32_t Mips::Encoder::orr ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ orr() [2/2]

constexpr uint32_t Mips::Encoder::orr ( Reg  dst,
Reg  tgt 
)
constexpr

◆ rfe()

constexpr uint32_t Mips::Encoder::rfe ( )
constexpr

◆ sb()

constexpr uint32_t Mips::Encoder::sb ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ sh()

constexpr uint32_t Mips::Encoder::sh ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ sll() [1/2]

constexpr uint32_t Mips::Encoder::sll ( Reg  dst,
Reg  tgt,
uint16_t  sa 
)
constexpr

◆ sll() [2/2]

constexpr uint32_t Mips::Encoder::sll ( Reg  dst,
uint16_t  sa 
)
constexpr

◆ sllv() [1/2]

constexpr uint32_t Mips::Encoder::sllv ( Reg  dst,
Reg  src 
)
constexpr

◆ sllv() [2/2]

constexpr uint32_t Mips::Encoder::sllv ( Reg  dst,
Reg  tgt,
Reg  src 
)
constexpr

◆ slt() [1/2]

constexpr uint32_t Mips::Encoder::slt ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ slt() [2/2]

constexpr uint32_t Mips::Encoder::slt ( Reg  dst,
Reg  tgt 
)
constexpr

◆ slti() [1/2]

constexpr uint32_t Mips::Encoder::slti ( Reg  tgt,
int16_t  value 
)
constexpr

◆ slti() [2/2]

constexpr uint32_t Mips::Encoder::slti ( Reg  tgt,
Reg  src,
int16_t  value 
)
constexpr

◆ sltiu() [1/2]

constexpr uint32_t Mips::Encoder::sltiu ( Reg  tgt,
Reg  src,
uint16_t  value 
)
constexpr

◆ sltiu() [2/2]

constexpr uint32_t Mips::Encoder::sltiu ( Reg  tgt,
uint16_t  value 
)
constexpr

◆ sltu() [1/2]

constexpr uint32_t Mips::Encoder::sltu ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ sltu() [2/2]

constexpr uint32_t Mips::Encoder::sltu ( Reg  dst,
Reg  tgt 
)
constexpr

◆ sra() [1/2]

constexpr uint32_t Mips::Encoder::sra ( Reg  dst,
Reg  tgt,
uint16_t  sa 
)
constexpr

◆ sra() [2/2]

constexpr uint32_t Mips::Encoder::sra ( Reg  dst,
uint16_t  sa 
)
constexpr

◆ srav() [1/2]

constexpr uint32_t Mips::Encoder::srav ( Reg  dst,
Reg  src 
)
constexpr

◆ srav() [2/2]

constexpr uint32_t Mips::Encoder::srav ( Reg  dst,
Reg  tgt,
Reg  src 
)
constexpr

◆ srcVal()

constexpr uint32_t Mips::Encoder::srcVal ( Reg  r)
constexpr

◆ srl() [1/2]

constexpr uint32_t Mips::Encoder::srl ( Reg  dst,
Reg  tgt,
uint16_t  sa 
)
constexpr

◆ srl() [2/2]

constexpr uint32_t Mips::Encoder::srl ( Reg  dst,
uint16_t  sa 
)
constexpr

◆ srlv() [1/2]

constexpr uint32_t Mips::Encoder::srlv ( Reg  dst,
Reg  src 
)
constexpr

◆ srlv() [2/2]

constexpr uint32_t Mips::Encoder::srlv ( Reg  dst,
Reg  tgt,
Reg  src 
)
constexpr

◆ sub() [1/2]

constexpr uint32_t Mips::Encoder::sub ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ sub() [2/2]

constexpr uint32_t Mips::Encoder::sub ( Reg  dst,
Reg  tgt 
)
constexpr

◆ subu() [1/2]

constexpr uint32_t Mips::Encoder::subu ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ subu() [2/2]

constexpr uint32_t Mips::Encoder::subu ( Reg  dst,
Reg  tgt 
)
constexpr

◆ sw()

constexpr uint32_t Mips::Encoder::sw ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ swl()

constexpr uint32_t Mips::Encoder::swl ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ swr()

constexpr uint32_t Mips::Encoder::swr ( Reg  tgt,
int16_t  offset,
Reg  src 
)
constexpr

◆ syscall()

constexpr uint32_t Mips::Encoder::syscall ( )
constexpr

◆ tgtVal()

constexpr uint32_t Mips::Encoder::tgtVal ( Reg  r)
constexpr

◆ xori() [1/2]

constexpr uint32_t Mips::Encoder::xori ( Reg  tgt,
Reg  src,
uint16_t  value 
)
constexpr

◆ xori() [2/2]

constexpr uint32_t Mips::Encoder::xori ( Reg  tgt,
uint16_t  value 
)
constexpr

◆ xorr() [1/2]

constexpr uint32_t Mips::Encoder::xorr ( Reg  dst,
Reg  src,
Reg  tgt 
)
constexpr

◆ xorr() [2/2]

constexpr uint32_t Mips::Encoder::xorr ( Reg  dst,
Reg  tgt 
)
constexpr