Telkin
Loading...
Searching...
No Matches
tk::ppc Namespace Reference

Namespaces

namespace  internal

Typedefs

using R = GPR

Enumerations

enum class  GPR : u8 {
  r0 , r1 , r2 , r3 ,
  r4 , r5 , r6 , r7 ,
  r8 , r9 , r10 , r11 ,
  r12 , r13 , r14 , r15 ,
  r16 , r17 , r18 , r19 ,
  r20 , r21 , r22 , r23 ,
  r24 , r25 , r26 , r27 ,
  r28 , r29 , r30 , r31 ,
  sp = r1
}
enum class  FPR : u8 {
  f0 , f1 , f2 , f3 ,
  f4 , f5 , f6 , f7 ,
  f8 , f9 , f10 , f11 ,
  f12 , f13 , f14 , f15 ,
  f16 , f17 , f18 , f19 ,
  f20 , f21 , f22 , f23 ,
  f24 , f25 , f26 , f27 ,
  f28 , f29 , f30 , f31
}
enum class  CR : u8 {
  cr0 , cr1 , cr2 , cr3 ,
  cr4 , cr5 , cr6 , cr7
}

Functions

consteval u32 addi (R rt, R ra, s16 si)
consteval u32 addis (R rt, R ra, s16 si)
consteval u32 add (R rt, R ra, R rb, bool rc=false)
consteval u32 mullw (R rt, R ra, R rb, bool rc=false)
consteval u32 lwz (R rt, R ra, s16 d)
consteval u32 stw (R rs, R ra, s16 d)
consteval u32 stwu (R rs, R ra, s16 d)
consteval u32 lbz (R rt, R ra, s16 d)
consteval u32 stb (R rs, R ra, s16 d)
consteval u32 ori (R ra, R rs, u16 ui)
consteval u32 oris (R ra, R rs, u16 ui)
consteval u32 xori (R ra, R rs, u16 ui)
consteval u32 andi (R ra, R rs, u16 ui)
consteval u32 andr (R ra, R rs, R rb, bool rc=false)
consteval u32 orr (R ra, R rs, R rb, bool rc=false)
consteval u32 xorr (R ra, R rs, R rb, bool rc=false)
consteval u32 norr (R ra, R rs, R rb, bool rc=false)
consteval u32 mr (R ra, R rb)
consteval u32 cmpw (R ra, R rb, CR cr=CR::cr0)
consteval u32 cmpwi (R ra, s16 simm, CR cr=CR::cr0)
consteval u32 cmplw (R ra, R rb, CR cr=CR::cr0)
consteval u32 cmplwi (R ra, u16 uimm, CR cr=CR::cr0)
consteval u32 li (R rt, s16 si)
consteval u32 lis (R rt, s16 si)
consteval u32 bc (u8 bo, u8 bi, s16 byte_offset)
consteval u32 blt (s16 offset)
consteval u32 bgt (s16 offset)
consteval u32 beq (s16 offset)
consteval u32 bne (s16 offset)
consteval u32 rlwinm (R ra, R rs, u8 sh, u8 mb, u8 me, bool rc=false)
consteval u32 slw (R ra, R rs, R rb, bool rc=false)
consteval u32 srw (R ra, R rs, R rb, bool rc=false)
consteval u32 sraw (R ra, R rs, R rb, bool rc=false)
consteval u32 srawi (R ra, R rs, u8 sh, bool rc=false)
consteval u32 b (s32 relative)
consteval u32 bl (s32 relative)
consteval u32 blr ()
consteval u32 nop ()
consteval u32 mfspr (R rt, u16 spr)
consteval u32 mtspr (u16 spr, R rs)
consteval u32 mflr (R rt)
consteval u32 mtlr (R rs)

Typedef Documentation

◆ R

using tk::ppc::R = GPR

Enumeration Type Documentation

◆ GPR

enum class tk::ppc::GPR : u8
strong
Enumerator
r0 
r1 
r2 
r3 
r4 
r5 
r6 
r7 
r8 
r9 
r10 
r11 
r12 
r13 
r14 
r15 
r16 
r17 
r18 
r19 
r20 
r21 
r22 
r23 
r24 
r25 
r26 
r27 
r28 
r29 
r30 
r31 
sp 

◆ FPR

enum class tk::ppc::FPR : u8
strong
Enumerator
f0 
f1 
f2 
f3 
f4 
f5 
f6 
f7 
f8 
f9 
f10 
f11 
f12 
f13 
f14 
f15 
f16 
f17 
f18 
f19 
f20 
f21 
f22 
f23 
f24 
f25 
f26 
f27 
f28 
f29 
f30 
f31 

◆ CR

enum class tk::ppc::CR : u8
strong
Enumerator
cr0 
cr1 
cr2 
cr3 
cr4 
cr5 
cr6 
cr7 

Function Documentation

◆ addi()

u32 tk::ppc::addi ( R rt,
R ra,
s16 si )
consteval

◆ addis()

u32 tk::ppc::addis ( R rt,
R ra,
s16 si )
consteval

◆ add()

u32 tk::ppc::add ( R rt,
R ra,
R rb,
bool rc = false )
consteval

◆ mullw()

u32 tk::ppc::mullw ( R rt,
R ra,
R rb,
bool rc = false )
consteval

◆ lwz()

u32 tk::ppc::lwz ( R rt,
R ra,
s16 d )
consteval

◆ stw()

u32 tk::ppc::stw ( R rs,
R ra,
s16 d )
consteval

◆ stwu()

u32 tk::ppc::stwu ( R rs,
R ra,
s16 d )
consteval

◆ lbz()

u32 tk::ppc::lbz ( R rt,
R ra,
s16 d )
consteval

◆ stb()

u32 tk::ppc::stb ( R rs,
R ra,
s16 d )
consteval

◆ ori()

u32 tk::ppc::ori ( R ra,
R rs,
u16 ui )
consteval

◆ oris()

u32 tk::ppc::oris ( R ra,
R rs,
u16 ui )
consteval

◆ xori()

u32 tk::ppc::xori ( R ra,
R rs,
u16 ui )
consteval

◆ andi()

u32 tk::ppc::andi ( R ra,
R rs,
u16 ui )
consteval

◆ andr()

u32 tk::ppc::andr ( R ra,
R rs,
R rb,
bool rc = false )
consteval

◆ orr()

u32 tk::ppc::orr ( R ra,
R rs,
R rb,
bool rc = false )
consteval

◆ xorr()

u32 tk::ppc::xorr ( R ra,
R rs,
R rb,
bool rc = false )
consteval

◆ norr()

u32 tk::ppc::norr ( R ra,
R rs,
R rb,
bool rc = false )
consteval

◆ mr()

u32 tk::ppc::mr ( R ra,
R rb )
consteval

◆ cmpw()

u32 tk::ppc::cmpw ( R ra,
R rb,
CR cr = CR::cr0 )
consteval

◆ cmpwi()

u32 tk::ppc::cmpwi ( R ra,
s16 simm,
CR cr = CR::cr0 )
consteval

◆ cmplw()

u32 tk::ppc::cmplw ( R ra,
R rb,
CR cr = CR::cr0 )
consteval

◆ cmplwi()

u32 tk::ppc::cmplwi ( R ra,
u16 uimm,
CR cr = CR::cr0 )
consteval

◆ li()

u32 tk::ppc::li ( R rt,
s16 si )
consteval

◆ lis()

u32 tk::ppc::lis ( R rt,
s16 si )
consteval

◆ bc()

u32 tk::ppc::bc ( u8 bo,
u8 bi,
s16 byte_offset )
consteval

◆ blt()

u32 tk::ppc::blt ( s16 offset)
consteval

◆ bgt()

u32 tk::ppc::bgt ( s16 offset)
consteval

◆ beq()

u32 tk::ppc::beq ( s16 offset)
consteval

◆ bne()

u32 tk::ppc::bne ( s16 offset)
consteval

◆ rlwinm()

u32 tk::ppc::rlwinm ( R ra,
R rs,
u8 sh,
u8 mb,
u8 me,
bool rc = false )
consteval

◆ slw()

u32 tk::ppc::slw ( R ra,
R rs,
R rb,
bool rc = false )
consteval

◆ srw()

u32 tk::ppc::srw ( R ra,
R rs,
R rb,
bool rc = false )
consteval

◆ sraw()

u32 tk::ppc::sraw ( R ra,
R rs,
R rb,
bool rc = false )
consteval

◆ srawi()

u32 tk::ppc::srawi ( R ra,
R rs,
u8 sh,
bool rc = false )
consteval

◆ b()

u32 tk::ppc::b ( s32 relative)
consteval

◆ bl()

u32 tk::ppc::bl ( s32 relative)
consteval

◆ blr()

u32 tk::ppc::blr ( )
consteval

◆ nop()

u32 tk::ppc::nop ( )
consteval

◆ mfspr()

u32 tk::ppc::mfspr ( R rt,
u16 spr )
consteval

◆ mtspr()

u32 tk::ppc::mtspr ( u16 spr,
R rs )
consteval

◆ mflr()

u32 tk::ppc::mflr ( R rt)
consteval

◆ mtlr()

u32 tk::ppc::mtlr ( R rs)
consteval