soc.decoder.isa2 package

Submodules

soc.decoder.isa2.bcd module

class soc.decoder.isa2.bcd.bcd

Bases: object

bcd_instrs = {'addg6s': instruction_info(func=<function bcd.op_addg6s>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB']]), 'cbcdtd': instruction_info(func=<function bcd.op_cbcdtd>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', ''], 'RS']), 'cdtbcd': instruction_info(func=<function bcd.op_cdtbcd>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', ''], 'RS'])}
op_addg6s(RA, RB)
op_cbcdtd(RA, RS)
op_cdtbcd(RA, RS)

soc.decoder.isa2.branch module

class soc.decoder.isa2.branch.branch

Bases: object

branch_instrs = {'b': instruction_info(func=<function branch.op_b>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['LR']), special_regs=OrderedSet(['LR']), op_fields=OrderedSet(['AA', 'LI', 'LK']), form='I', asmregs=[['target_addr'], '(AA=0', 'LK=0)']), 'ba': instruction_info(func=<function branch.op_ba>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['LR']), special_regs=OrderedSet(['LR']), op_fields=OrderedSet(['AA', 'LI', 'LK']), form='I', asmregs=[['target_addr'], '(AA=1', 'LK=0)']), 'bc': instruction_info(func=<function branch.op_bc>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'AA', 'BD', 'LK']), form='B', asmregs=[['BO', 'BI', 'target_addr'], '(AA=0', 'LK=0)']), 'bca': instruction_info(func=<function branch.op_bca>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'AA', 'BD', 'LK']), form='B', asmregs=[['BO', 'BI', 'target_addr'], '(AA=1', 'LK=0)']), 'bcctr': instruction_info(func=<function branch.op_bcctr>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR', 'CTR', 'LR']), special_regs=OrderedSet(['CR', 'CTR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'LK']), form='XL', asmregs=[['BO', 'BI', 'BH'], '(LK=0)']), 'bcctrl': instruction_info(func=<function branch.op_bcctrl>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR', 'CTR', 'LR']), special_regs=OrderedSet(['CR', 'CTR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'LK']), form='XL', asmregs=[['BO', 'BI', 'BH'], '(LK=1)']), 'bcl': instruction_info(func=<function branch.op_bcl>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'AA', 'BD', 'LK']), form='B', asmregs=[['BO', 'BI', 'target_addr'], '(AA=0', 'LK=1)']), 'bcla': instruction_info(func=<function branch.op_bcla>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'AA', 'BD', 'LK']), form='B', asmregs=[['BO', 'BI', 'target_addr'], '(AA=1', 'LK=1)']), 'bclr': instruction_info(func=<function branch.op_bclr>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'LK']), form='XL', asmregs=[['BO', 'BI', 'BH'], '(LK=0)']), 'bclrl': instruction_info(func=<function branch.op_bclrl>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'LK']), form='XL', asmregs=[['BO', 'BI', 'BH'], '(LK=1)']), 'bctar': instruction_info(func=<function branch.op_bctar>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'TAR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'TAR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'LK']), form='XL', asmregs=[['BO', 'BI', 'BH'], '(LK=0)']), 'bctarl': instruction_info(func=<function branch.op_bctarl>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CTR', 'CR', 'TAR', 'LR']), special_regs=OrderedSet(['CTR', 'CR', 'TAR', 'LR']), op_fields=OrderedSet(['BO', 'BI', 'LK']), form='XL', asmregs=[['BO', 'BI', 'BH'], '(LK=1)']), 'bl': instruction_info(func=<function branch.op_bl>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['LR']), special_regs=OrderedSet(['LR']), op_fields=OrderedSet(['AA', 'LI', 'LK']), form='I', asmregs=[['target_addr'], '(AA=0', 'LK=1)']), 'bla': instruction_info(func=<function branch.op_bla>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['LR']), special_regs=OrderedSet(['LR']), op_fields=OrderedSet(['AA', 'LI', 'LK']), form='I', asmregs=[['target_addr'], '(AA=1', 'LK=1)'])}
op_b(LR)
op_ba(LR)
op_bc(CTR, CR, LR)
op_bca(CTR, CR, LR)
op_bcctr(CR, CTR, LR)
op_bcctrl(CR, CTR, LR)
op_bcl(CTR, CR, LR)
op_bcla(CTR, CR, LR)
op_bclr(CTR, CR, LR)
op_bclrl(CTR, CR, LR)
op_bctar(CTR, CR, TAR, LR)
op_bctarl(CTR, CR, TAR, LR)
op_bl(LR)
op_bla(LR)

soc.decoder.isa2.caller module

core of the python-based POWER9 simulator

this is part of a cycle-accurate POWER9 simulator. its primary purpose is not speed, it is for both learning and educational purposes, as well as a method of verifying the HDL.

related bugs:

class soc.decoder.isa2.caller.GPR(decoder, regfile)

Bases: dict

dump()
getz(rnum)
set_form(form)
class soc.decoder.isa2.caller.ISACaller(decoder2, regfile, initial_sprs=None, initial_cr=0, initial_mem=None, initial_msr=0, initial_insns=None, respect_pc=False, disassembly=None, initial_pc=0, bigendian=False)

Bases: object

TRAP(trap_addr=1792, trap_bit=46)
call(name)
execute_one()

execute one instruction

get_assembly_name()
get_spr_msb()
handle_carry_(inputs, outputs, already_done)
handle_comparison(outputs)
handle_overflow(inputs, outputs, div_overflow)
memassign(ea, sz, val)
prep_namespace(formname, op_fields)
set_pc(pc_val)
setup_one()

set up one instruction

class soc.decoder.isa2.caller.Mem(row_bytes=8, initial_mem=None)

Bases: object

ld(address, width=8, swap=True, check_in_mem=False)
memassign(addr, sz, val)
st(addr, v, width=8, swap=True)
class soc.decoder.isa2.caller.PC(pc_init=0)

Bases: object

update(namespace)
class soc.decoder.isa2.caller.SPR(dec2, initial_sprs={})

Bases: dict

soc.decoder.isa2.caller.create_args(reglist, extra=None)
soc.decoder.isa2.caller.inject()

Decorator factory.

this decorator will “inject” variables into the function’s namespace, from the dictionary in self.namespace. it therefore becomes possible to make it look like a whole stack of variables which would otherwise need “self.” inserted in front of them (and for those variables to be added to the instance) “appear” in the function.

“self.namespace[‘SI’]” for example becomes accessible as just “SI” but only inside the function, when decorated.

class soc.decoder.isa2.caller.instruction_info(func, read_regs, uninit_regs, write_regs, special_regs, op_fields, form, asmregs)

Bases: tuple

asmregs

Alias for field number 7

form

Alias for field number 6

func

Alias for field number 0

op_fields

Alias for field number 5

read_regs

Alias for field number 1

special_regs

Alias for field number 4

uninit_regs

Alias for field number 2

write_regs

Alias for field number 3

soc.decoder.isa2.caller.swap_order(x, nbytes)

soc.decoder.isa2.comparefixed module

class soc.decoder.isa2.comparefixed.comparefixed

Bases: object

comparefixed_instrs = {'cmp': instruction_info(func=<function comparefixed.op_cmp>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['L', 'BF']), form='X', asmregs=[['BF', 'L', 'RA', 'RB']]), 'cmpeqb': instruction_info(func=<function comparefixed.op_cmpeqb>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BF']), form='X', asmregs=[['BF', 'RA', 'RB']]), 'cmpi': instruction_info(func=<function comparefixed.op_cmpi>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['L', 'SI', 'BF']), form='D', asmregs=[['BF', 'L', 'RA', 'SI']]), 'cmpl': instruction_info(func=<function comparefixed.op_cmpl>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['L', 'BF']), form='X', asmregs=[['BF', 'L', 'RA', 'RB']]), 'cmpli': instruction_info(func=<function comparefixed.op_cmpli>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['L', 'UI', 'BF']), form='D', asmregs=[['BF', 'L', 'RA', 'UI']]), 'cmprb': instruction_info(func=<function comparefixed.op_cmprb>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['L', 'BF']), form='X', asmregs=[['BF', 'L', 'RA', 'RB']])}
op_cmp(RA, RB, CR)
op_cmpeqb(RA, RB, CR)
op_cmpi(RA, CR)
op_cmpl(RA, RB, CR)
op_cmpli(RA, CR)
op_cmprb(RA, RB, CR)

soc.decoder.isa2.condition module

class soc.decoder.isa2.condition.condition

Bases: object

condition_instrs = {'crand': instruction_info(func=<function condition.op_crand>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'crandc': instruction_info(func=<function condition.op_crandc>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'creqv': instruction_info(func=<function condition.op_creqv>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'crnand': instruction_info(func=<function condition.op_crnand>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'crnor': instruction_info(func=<function condition.op_crnor>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'cror': instruction_info(func=<function condition.op_cror>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'crorc': instruction_info(func=<function condition.op_crorc>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'crxor': instruction_info(func=<function condition.op_crxor>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BT', 'BA', 'BB']), form='XL', asmregs=[['BT', 'BA', 'BB']]), 'mcrf': instruction_info(func=<function condition.op_mcrf>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BF', 'BFA']), form='XL', asmregs=[['BF', 'BFA']])}
op_crand(CR)
op_crandc(CR)
op_creqv(CR)
op_crnand(CR)
op_crnor(CR)
op_cror(CR)
op_crorc(CR)
op_crxor(CR)
op_mcrf(CR)

soc.decoder.isa2.fixedarith module

class soc.decoder.isa2.fixedarith.fixedarith

Bases: object

fixedarith_instrs = {'add': instruction_info(func=<function fixedarith.op_add>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'add.': instruction_info(func=<function fixedarith.op_add_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'addc': instruction_info(func=<function fixedarith.op_addc>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'addc.': instruction_info(func=<function fixedarith.op_addc_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'addco': instruction_info(func=<function fixedarith.op_addco>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'addco.': instruction_info(func=<function fixedarith.op_addco_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'adde': instruction_info(func=<function fixedarith.op_adde>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'adde.': instruction_info(func=<function fixedarith.op_adde_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'addeo': instruction_info(func=<function fixedarith.op_addeo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'addeo.': instruction_info(func=<function fixedarith.op_addeo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'addex': instruction_info(func=<function fixedarith.op_addex>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='Z23', asmregs=[['RT', 'RA', 'RB', 'CY']]), 'addi': instruction_info(func=<function fixedarith.op_addi>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['SI']), form='D', asmregs=[['RT', 'RA', 'SI']]), 'addic': instruction_info(func=<function fixedarith.op_addic>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['SI']), form='D', asmregs=[['RT', 'RA', 'SI']]), 'addic.': instruction_info(func=<function fixedarith.op_addic_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['SI']), form='D', asmregs=[['RT', 'RA', 'SI']]), 'addis': instruction_info(func=<function fixedarith.op_addis>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['SI']), form='D', asmregs=[['RT', 'RA', 'SI']]), 'addme': instruction_info(func=<function fixedarith.op_addme>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=0)']), 'addme.': instruction_info(func=<function fixedarith.op_addme_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=1)']), 'addmeo': instruction_info(func=<function fixedarith.op_addmeo>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=0)']), 'addmeo.': instruction_info(func=<function fixedarith.op_addmeo_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=1)']), 'addo': instruction_info(func=<function fixedarith.op_addo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'addo.': instruction_info(func=<function fixedarith.op_addo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'addpcis': instruction_info(func=<function fixedarith.op_addpcis>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['d0', 'd1', 'd2']), form='DX', asmregs=[['RT', 'D']]), 'addze': instruction_info(func=<function fixedarith.op_addze>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=0)']), 'addze.': instruction_info(func=<function fixedarith.op_addze_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=1)']), 'addzeo': instruction_info(func=<function fixedarith.op_addzeo>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=0)']), 'addzeo.': instruction_info(func=<function fixedarith.op_addzeo_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=1)']), 'darn': instruction_info(func=<function fixedarith.op_darn>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['L3']), form='X', asmregs=[['RT', 'L3']]), 'divd': instruction_info(func=<function fixedarith.op_divd>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divd.': instruction_info(func=<function fixedarith.op_divd_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divde': instruction_info(func=<function fixedarith.op_divde>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divde.': instruction_info(func=<function fixedarith.op_divde_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divdeo': instruction_info(func=<function fixedarith.op_divdeo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divdeo.': instruction_info(func=<function fixedarith.op_divdeo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'divdeu': instruction_info(func=<function fixedarith.op_divdeu>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divdeu.': instruction_info(func=<function fixedarith.op_divdeu_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divdeuo': instruction_info(func=<function fixedarith.op_divdeuo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divdeuo.': instruction_info(func=<function fixedarith.op_divdeuo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'divdo': instruction_info(func=<function fixedarith.op_divdo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divdo.': instruction_info(func=<function fixedarith.op_divdo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'divdu': instruction_info(func=<function fixedarith.op_divdu>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divdu.': instruction_info(func=<function fixedarith.op_divdu_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divduo': instruction_info(func=<function fixedarith.op_divduo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divduo.': instruction_info(func=<function fixedarith.op_divduo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'divw': instruction_info(func=<function fixedarith.op_divw>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divw.': instruction_info(func=<function fixedarith.op_divw_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divwe': instruction_info(func=<function fixedarith.op_divwe>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divwe.': instruction_info(func=<function fixedarith.op_divwe_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divweo': instruction_info(func=<function fixedarith.op_divweo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divweo.': instruction_info(func=<function fixedarith.op_divweo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'divweu': instruction_info(func=<function fixedarith.op_divweu>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divweu.': instruction_info(func=<function fixedarith.op_divweu_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divweuo': instruction_info(func=<function fixedarith.op_divweuo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divweuo.': instruction_info(func=<function fixedarith.op_divweuo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['overflow', 'RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'divwo': instruction_info(func=<function fixedarith.op_divwo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divwo.': instruction_info(func=<function fixedarith.op_divwo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'divwu': instruction_info(func=<function fixedarith.op_divwu>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'divwu.': instruction_info(func=<function fixedarith.op_divwu_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'divwuo': instruction_info(func=<function fixedarith.op_divwuo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'divwuo.': instruction_info(func=<function fixedarith.op_divwuo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'maddhd': instruction_info(func=<function fixedarith.op_maddhd>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='VA', asmregs=[['RT', 'RA.RB', 'RC']]), 'maddhdu': instruction_info(func=<function fixedarith.op_maddhdu>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='VA', asmregs=[['RT', 'RA.RB', 'RC']]), 'maddld': instruction_info(func=<function fixedarith.op_maddld>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='VA', asmregs=[['RT', 'RA.RB', 'RC']]), 'modsd': instruction_info(func=<function fixedarith.op_modsd>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'modsw': instruction_info(func=<function fixedarith.op_modsw>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'modud': instruction_info(func=<function fixedarith.op_modud>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'moduw': instruction_info(func=<function fixedarith.op_moduw>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'mulhd': instruction_info(func=<function fixedarith.op_mulhd>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=0)']), 'mulhd.': instruction_info(func=<function fixedarith.op_mulhd_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=1)']), 'mulhdu': instruction_info(func=<function fixedarith.op_mulhdu>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=0)']), 'mulhdu.': instruction_info(func=<function fixedarith.op_mulhdu_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=1)']), 'mulhw': instruction_info(func=<function fixedarith.op_mulhw>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=0)']), 'mulhw.': instruction_info(func=<function fixedarith.op_mulhw_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=1)']), 'mulhwu': instruction_info(func=<function fixedarith.op_mulhwu>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=0)']), 'mulhwu.': instruction_info(func=<function fixedarith.op_mulhwu_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(Rc=1)']), 'mulld': instruction_info(func=<function fixedarith.op_mulld>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'mulld.': instruction_info(func=<function fixedarith.op_mulld_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'mulldo': instruction_info(func=<function fixedarith.op_mulldo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'mulldo.': instruction_info(func=<function fixedarith.op_mulldo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'mulli': instruction_info(func=<function fixedarith.op_mulli>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['SI']), form='D', asmregs=[['RT', 'RA', 'SI']]), 'mullw': instruction_info(func=<function fixedarith.op_mullw>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'mullw.': instruction_info(func=<function fixedarith.op_mullw_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'mullwo': instruction_info(func=<function fixedarith.op_mullwo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'mullwo.': instruction_info(func=<function fixedarith.op_mullwo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'overflow']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'neg': instruction_info(func=<function fixedarith.op_neg>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=0)']), 'neg.': instruction_info(func=<function fixedarith.op_neg_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=1)']), 'nego': instruction_info(func=<function fixedarith.op_nego>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=0)']), 'nego.': instruction_info(func=<function fixedarith.op_nego_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=1)']), 'subf': instruction_info(func=<function fixedarith.op_subf>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'subf.': instruction_info(func=<function fixedarith.op_subf_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'subfc': instruction_info(func=<function fixedarith.op_subfc>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'subfc.': instruction_info(func=<function fixedarith.op_subfc_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'subfco': instruction_info(func=<function fixedarith.op_subfco>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'subfco.': instruction_info(func=<function fixedarith.op_subfco_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'subfe': instruction_info(func=<function fixedarith.op_subfe>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=0)']), 'subfe.': instruction_info(func=<function fixedarith.op_subfe_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=0', 'Rc=1)']), 'subfeo': instruction_info(func=<function fixedarith.op_subfeo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'subfeo.': instruction_info(func=<function fixedarith.op_subfeo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'subfic': instruction_info(func=<function fixedarith.op_subfic>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['SI']), form='D', asmregs=[['RT', 'RA', 'SI']]), 'subfme': instruction_info(func=<function fixedarith.op_subfme>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=0)']), 'subfme.': instruction_info(func=<function fixedarith.op_subfme_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=1)']), 'subfmeo': instruction_info(func=<function fixedarith.op_subfmeo>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=0)']), 'subfmeo.': instruction_info(func=<function fixedarith.op_subfmeo_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=1)']), 'subfo': instruction_info(func=<function fixedarith.op_subfo>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=0)']), 'subfo.': instruction_info(func=<function fixedarith.op_subfo_>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA', 'RB'], '(OE=1', 'Rc=1)']), 'subfze': instruction_info(func=<function fixedarith.op_subfze>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=0)']), 'subfze.': instruction_info(func=<function fixedarith.op_subfze_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=0', 'Rc=1)']), 'subfzeo': instruction_info(func=<function fixedarith.op_subfzeo>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=0)']), 'subfzeo.': instruction_info(func=<function fixedarith.op_subfzeo_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='XO', asmregs=[['RT', 'RA'], '(OE=1', 'Rc=1)'])}
op_add(RA, RB)
op_add_(RA, RB)
op_addc(RA, RB)
op_addc_(RA, RB)
op_addco(RA, RB)
op_addco_(RA, RB)
op_adde(RA, RB)
op_adde_(RA, RB)
op_addeo(RA, RB)
op_addeo_(RA, RB)
op_addex(RA, RB)
op_addi(RA)
op_addic(RA)
op_addic_(RA)
op_addis(RA)
op_addme(RA)
op_addme_(RA)
op_addmeo(RA)
op_addmeo_(RA)
op_addo(RA, RB)
op_addo_(RA, RB)
op_addpcis()
op_addze(RA)
op_addze_(RA)
op_addzeo(RA)
op_addzeo_(RA)
op_darn()
op_divd(RA, RB, RT)
op_divd_(RA, RB, RT)
op_divde(RA, RB, RT)
op_divde_(RA, RB, RT)
op_divdeo(RA, RB, RT)
op_divdeo_(RA, RB, RT)
op_divdeu(RA, RB, RT)
op_divdeu_(RA, RB, RT)
op_divdeuo(RA, RB, RT)
op_divdeuo_(RA, RB, RT)
op_divdo(RA, RB, RT)
op_divdo_(RA, RB, RT)
op_divdu(RA, RB, RT)
op_divdu_(RA, RB, RT)
op_divduo(RA, RB, RT)
op_divduo_(RA, RB, RT)
op_divw(RA, RB, RT)
op_divw_(RA, RB, RT)
op_divwe(RA, RB, RT)
op_divwe_(RA, RB, RT)
op_divweo(RA, RB, RT)
op_divweo_(RA, RB, RT)
op_divweu(RA, RB, RT)
op_divweu_(RA, RB, RT)
op_divweuo(RA, RB, RT)
op_divweuo_(RA, RB, RT)
op_divwo(RA, RB, RT)
op_divwo_(RA, RB, RT)
op_divwu(RA, RB, RT)
op_divwu_(RA, RB, RT)
op_divwuo(RA, RB, RT)
op_divwuo_(RA, RB, RT)
op_maddhd(RA, RB)
op_maddhdu(RA, RB)
op_maddld(RA, RB)
op_modsd(RA, RB, RT)
op_modsw(RA, RB, RT)
op_modud(RA, RB, RT)
op_moduw(RA, RB, RT)
op_mulhd(RA, RB)
op_mulhd_(RA, RB)
op_mulhdu(RA, RB)
op_mulhdu_(RA, RB)
op_mulhw(RA, RB, RT)
op_mulhw_(RA, RB, RT)
op_mulhwu(RA, RB, RT)
op_mulhwu_(RA, RB, RT)
op_mulld(RA, RB)
op_mulld_(RA, RB)
op_mulldo(RA, RB)
op_mulldo_(RA, RB)
op_mulli(RA)
op_mullw(RA, RB)
op_mullw_(RA, RB)
op_mullwo(RA, RB)
op_mullwo_(RA, RB)
op_neg(RA)
op_neg_(RA)
op_nego(RA)
op_nego_(RA)
op_subf(RA, RB)
op_subf_(RA, RB)
op_subfc(RA, RB)
op_subfc_(RA, RB)
op_subfco(RA, RB)
op_subfco_(RA, RB)
op_subfe(RA, RB)
op_subfe_(RA, RB)
op_subfeo(RA, RB)
op_subfeo_(RA, RB)
op_subfic(RA)
op_subfme(RA)
op_subfme_(RA)
op_subfmeo(RA)
op_subfmeo_(RA)
op_subfo(RA, RB)
op_subfo_(RA, RB)
op_subfze(RA)
op_subfze_(RA)
op_subfzeo(RA)
op_subfzeo_(RA)

soc.decoder.isa2.fixedldstcache module

class soc.decoder.isa2.fixedldstcache.fixedldstcache

Bases: object

fixedldstcache_instrs = {'lbzcix': instruction_info(func=<function fixedldstcache.op_lbzcix>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'ldcix': instruction_info(func=<function fixedldstcache.op_ldcix>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lhzcix': instruction_info(func=<function fixedldstcache.op_lhzcix>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lwzcix': instruction_info(func=<function fixedldstcache.op_lwzcix>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'stbcix': instruction_info(func=<function fixedldstcache.op_stbcix>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stdcix': instruction_info(func=<function fixedldstcache.op_stdcix>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'sthcix': instruction_info(func=<function fixedldstcache.op_sthcix>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stwcix': instruction_info(func=<function fixedldstcache.op_stwcix>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']])}
op_lbzcix(RA, RB)
op_ldcix(RA, RB)
op_lhzcix(RA, RB)
op_lwzcix(RA, RB)
op_stbcix(RA, RB, RS)
op_stdcix(RA, RB, RS)
op_sthcix(RA, RB, RS)
op_stwcix(RA, RB, RS)

soc.decoder.isa2.fixedload module

class soc.decoder.isa2.fixedload.fixedload

Bases: object

fixedload_instrs = {'lbz': instruction_info(func=<function fixedload.op_lbz>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lbzu': instruction_info(func=<function fixedload.op_lbzu>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lbzux': instruction_info(func=<function fixedload.op_lbzux>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lbzx': instruction_info(func=<function fixedload.op_lbzx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'ld': instruction_info(func=<function fixedload.op_ld>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['DS']), form='DS', asmregs=[['RT', 'DS(RA)']]), 'ldbrx': instruction_info(func=<function fixedload.op_ldbrx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'ldu': instruction_info(func=<function fixedload.op_ldu>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['DS']), form='DS', asmregs=[['RT', 'DS(RA)']]), 'ldux': instruction_info(func=<function fixedload.op_ldux>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'ldx': instruction_info(func=<function fixedload.op_ldx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lha': instruction_info(func=<function fixedload.op_lha>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lhau': instruction_info(func=<function fixedload.op_lhau>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lhaux': instruction_info(func=<function fixedload.op_lhaux>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lhax': instruction_info(func=<function fixedload.op_lhax>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lhbrx': instruction_info(func=<function fixedload.op_lhbrx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lhz': instruction_info(func=<function fixedload.op_lhz>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lhzu': instruction_info(func=<function fixedload.op_lhzu>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lhzux': instruction_info(func=<function fixedload.op_lhzux>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lhzx': instruction_info(func=<function fixedload.op_lhzx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lmw': instruction_info(func=<function fixedload.op_lmw>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='DQ', asmregs=[['RT', 'D(RA)']]), 'lq': instruction_info(func=<function fixedload.op_lq>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['DQ', 'RTp']), form='DQ', asmregs=[['RTp', 'DQ(RA)']]), 'lwa': instruction_info(func=<function fixedload.op_lwa>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['DS']), form='DS', asmregs=[['RT', 'DS(RA)']]), 'lwaux': instruction_info(func=<function fixedload.op_lwaux>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lwax': instruction_info(func=<function fixedload.op_lwax>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lwbrx': instruction_info(func=<function fixedload.op_lwbrx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lwz': instruction_info(func=<function fixedload.op_lwz>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lwzu': instruction_info(func=<function fixedload.op_lwzu>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RT', 'D(RA)']]), 'lwzux': instruction_info(func=<function fixedload.op_lwzux>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT', 'RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'lwzx': instruction_info(func=<function fixedload.op_lwzx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']])}
op_lbz(RA)
op_lbzu(RA)
op_lbzux(RA, RB)
op_lbzx(RA, RB)
op_ld(RA)
op_ldbrx(RA, RB)
op_ldu(RA)
op_ldux(RA, RB)
op_ldx(RA, RB)
op_lha(RA)
op_lhau(RA)
op_lhaux(RA, RB)
op_lhax(RA, RB)
op_lhbrx(RA, RB)
op_lhz(RA)
op_lhzu(RA)
op_lhzux(RA, RB)
op_lhzx(RA, RB)
op_lmw(RA)
op_lq(RA)
op_lwa(RA)
op_lwaux(RA, RB)
op_lwax(RA, RB)
op_lwbrx(RA, RB)
op_lwz(RA)
op_lwzu(RA)
op_lwzux(RA, RB)
op_lwzx(RA, RB)

soc.decoder.isa2.fixedlogical module

class soc.decoder.isa2.fixedlogical.fixedlogical

Bases: object

fixedlogical_instrs = {'and': instruction_info(func=<function fixedlogical.op_and>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'and.': instruction_info(func=<function fixedlogical.op_and_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'andc': instruction_info(func=<function fixedlogical.op_andc>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'andc.': instruction_info(func=<function fixedlogical.op_andc_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'andi.': instruction_info(func=<function fixedlogical.op_andi_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['UI']), form='D', asmregs=[['RA', 'RS', 'UI']]), 'andis.': instruction_info(func=<function fixedlogical.op_andis_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['UI']), form='D', asmregs=[['RA', 'RS', 'UI']]), 'bpermd': instruction_info(func=<function fixedlogical.op_bpermd>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB]']]), 'cmpb': instruction_info(func=<function fixedlogical.op_cmpb>, read_regs=OrderedSet(['RS', 'RB', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB']]), 'cntlzd': instruction_info(func=<function fixedlogical.op_cntlzd>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=0)']), 'cntlzd.': instruction_info(func=<function fixedlogical.op_cntlzd_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=1)']), 'cntlzw': instruction_info(func=<function fixedlogical.op_cntlzw>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=0)']), 'cntlzw.': instruction_info(func=<function fixedlogical.op_cntlzw_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=1)']), 'cnttzd': instruction_info(func=<function fixedlogical.op_cnttzd>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=0)']), 'cnttzd.': instruction_info(func=<function fixedlogical.op_cnttzd_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=1)']), 'cnttzw': instruction_info(func=<function fixedlogical.op_cnttzw>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=0)']), 'cnttzw.': instruction_info(func=<function fixedlogical.op_cnttzw_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=1)']), 'eqv': instruction_info(func=<function fixedlogical.op_eqv>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'eqv.': instruction_info(func=<function fixedlogical.op_eqv_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'extsb': instruction_info(func=<function fixedlogical.op_extsb>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=0)']), 'extsb.': instruction_info(func=<function fixedlogical.op_extsb_>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=1)']), 'extsh': instruction_info(func=<function fixedlogical.op_extsh>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=0)']), 'extsh.': instruction_info(func=<function fixedlogical.op_extsh_>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=1)']), 'extsw': instruction_info(func=<function fixedlogical.op_extsw>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=0)']), 'extsw.': instruction_info(func=<function fixedlogical.op_extsw_>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS'], '(Rc=1)']), 'nand': instruction_info(func=<function fixedlogical.op_nand>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'nand.': instruction_info(func=<function fixedlogical.op_nand_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'nor': instruction_info(func=<function fixedlogical.op_nor>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'nor.': instruction_info(func=<function fixedlogical.op_nor_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'or': instruction_info(func=<function fixedlogical.op_or>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'or.': instruction_info(func=<function fixedlogical.op_or_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'orc': instruction_info(func=<function fixedlogical.op_orc>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'orc.': instruction_info(func=<function fixedlogical.op_orc_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'ori': instruction_info(func=<function fixedlogical.op_ori>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['UI']), form='D', asmregs=[['RA', 'RS', 'UI']]), 'oris': instruction_info(func=<function fixedlogical.op_oris>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['UI']), form='D', asmregs=[['RA', 'RS', 'UI']]), 'popcntb': instruction_info(func=<function fixedlogical.op_popcntb>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', ''], 'RS']), 'popcntd': instruction_info(func=<function fixedlogical.op_popcntd>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', ''], 'RS']), 'popcntw': instruction_info(func=<function fixedlogical.op_popcntw>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', ''], 'RS']), 'prtyd': instruction_info(func=<function fixedlogical.op_prtyd>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS']]), 'prtyw': instruction_info(func=<function fixedlogical.op_prtyw>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(['RA']), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS']]), 'xor': instruction_info(func=<function fixedlogical.op_xor>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'xor.': instruction_info(func=<function fixedlogical.op_xor_>, read_regs=OrderedSet(['RS', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'xori': instruction_info(func=<function fixedlogical.op_xori>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['UI']), form='D', asmregs=[['RA', 'RS', 'UI']]), 'xoris': instruction_info(func=<function fixedlogical.op_xoris>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['UI']), form='D', asmregs=[['RA', 'RS', 'UI']])}
op_and(RS, RB)
op_and_(RS, RB)
op_andc(RS, RB)
op_andc_(RS, RB)
op_andi_(RS)
op_andis_(RS)
op_bpermd(RS, RB)
op_cmpb(RS, RB, RA)
op_cntlzd(RS)
op_cntlzd_(RS)
op_cntlzw(RS)
op_cntlzw_(RS)
op_cnttzd(RS)
op_cnttzd_(RS)
op_cnttzw(RS)
op_cnttzw_(RS)
op_eqv(RS, RB)
op_eqv_(RS, RB)
op_extsb(RS, RA)
op_extsb_(RS, RA)
op_extsh(RS, RA)
op_extsh_(RS, RA)
op_extsw(RS, RA)
op_extsw_(RS, RA)
op_nand(RS, RB)
op_nand_(RS, RB)
op_nor(RS, RB)
op_nor_(RS, RB)
op_or(RS, RB)
op_or_(RS, RB)
op_orc(RS, RB)
op_orc_(RS, RB)
op_ori(RS)
op_oris(RS)
op_popcntb(RS, RA)
op_popcntd(RS)
op_popcntw(RS, RA)
op_prtyd(RS)
op_prtyw(RS, RA)
op_xor(RS, RB)
op_xor_(RS, RB)
op_xori(RS)
op_xoris(RS)

soc.decoder.isa2.fixedshift module

class soc.decoder.isa2.fixedshift.fixedshift

Bases: object

fixedshift_instrs = {'extswsli': instruction_info(func=<function fixedshift.op_extswsli>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh']), form='XS', asmregs=[['RA', 'RS', 'SH'], '(Rc=0)']), 'extswsli.': instruction_info(func=<function fixedshift.op_extswsli_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh']), form='XS', asmregs=[['RA', 'RS', 'SH'], '(Rc=1)']), 'rldcl': instruction_info(func=<function fixedshift.op_rldcl>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['mb']), form='MDS', asmregs=[['RA', 'RS', 'RB', 'MB'], '(Rc=0)']), 'rldcl.': instruction_info(func=<function fixedshift.op_rldcl_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['mb']), form='MDS', asmregs=[['RA', 'RS', 'RB', 'MB'], '(Rc=1)']), 'rldcr': instruction_info(func=<function fixedshift.op_rldcr>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['me']), form='MDS', asmregs=[['RA', 'RS', 'RB', 'ME'], '(Rc=0)']), 'rldcr.': instruction_info(func=<function fixedshift.op_rldcr_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['me']), form='MDS', asmregs=[['RA', 'RS', 'RB', 'ME'], '(Rc=1)']), 'rldic': instruction_info(func=<function fixedshift.op_rldic>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'mb']), form='MD', asmregs=[['RA', 'RS', 'SH', 'MB'], '(Rc=0)']), 'rldic.': instruction_info(func=<function fixedshift.op_rldic_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'mb']), form='MD', asmregs=[['RA', 'RS', 'SH', 'MB'], '(Rc=1)']), 'rldicl': instruction_info(func=<function fixedshift.op_rldicl>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'mb']), form='MD', asmregs=[['RA', 'RS', 'SH', 'MB'], '(Rc=0)']), 'rldicl.': instruction_info(func=<function fixedshift.op_rldicl_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'mb']), form='MD', asmregs=[['RA', 'RS', 'SH', 'MB'], '(Rc=1)']), 'rldicr': instruction_info(func=<function fixedshift.op_rldicr>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'me']), form='MD', asmregs=[['RA', 'RS', 'SH', 'ME'], '(Rc=0)']), 'rldicr.': instruction_info(func=<function fixedshift.op_rldicr_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'me']), form='MD', asmregs=[['RA', 'RS', 'SH', 'ME'], '(Rc=1)']), 'rldimi': instruction_info(func=<function fixedshift.op_rldimi>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'mb']), form='MD', asmregs=[['RA', 'RS', 'SH', 'MB'], '(Rc=0)']), 'rldimi.': instruction_info(func=<function fixedshift.op_rldimi_>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh', 'mb']), form='MD', asmregs=[['RA', 'RS', 'SH', 'MB'], '(Rc=1)']), 'rlwimi': instruction_info(func=<function fixedshift.op_rlwimi>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['SH', 'MB', 'ME']), form='M', asmregs=[['RA', 'RS', 'SH', 'MB', 'ME'], '(Rc=0)']), 'rlwimi.': instruction_info(func=<function fixedshift.op_rlwimi_>, read_regs=OrderedSet(['RS', 'RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['SH', 'MB', 'ME']), form='M', asmregs=[['RA', 'RS', 'SH', 'MB', 'ME'], '(Rc=1)']), 'rlwinm': instruction_info(func=<function fixedshift.op_rlwinm>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['SH', 'MB', 'ME']), form='M', asmregs=[['RA', 'RS', 'SH', 'MB', 'ME'], '(Rc=0)']), 'rlwinm.': instruction_info(func=<function fixedshift.op_rlwinm_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['SH', 'MB', 'ME']), form='M', asmregs=[['RA', 'RS', 'SH', 'MB', 'ME'], '(Rc=1)']), 'rlwnm': instruction_info(func=<function fixedshift.op_rlwnm>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['MB', 'ME']), form='M', asmregs=[['RA', 'RS', 'RB', 'MB', 'ME'], '(Rc=0)']), 'rlwnm.': instruction_info(func=<function fixedshift.op_rlwnm_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['MB', 'ME']), form='M', asmregs=[['RA', 'RS', 'RB', 'MB', 'ME'], '(Rc=1)']), 'sld': instruction_info(func=<function fixedshift.op_sld>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'sld.': instruction_info(func=<function fixedshift.op_sld_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'slw': instruction_info(func=<function fixedshift.op_slw>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'slw.': instruction_info(func=<function fixedshift.op_slw_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'srad': instruction_info(func=<function fixedshift.op_srad>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'srad.': instruction_info(func=<function fixedshift.op_srad_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'sradi': instruction_info(func=<function fixedshift.op_sradi>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh']), form='XS', asmregs=[['RA', 'RS', 'SH'], '(Rc=0)']), 'sradi.': instruction_info(func=<function fixedshift.op_sradi_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(['sh']), form='XS', asmregs=[['RA', 'RS', 'SH'], '(Rc=1)']), 'sraw': instruction_info(func=<function fixedshift.op_sraw>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'sraw.': instruction_info(func=<function fixedshift.op_sraw_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'srawi': instruction_info(func=<function fixedshift.op_srawi>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(['SH']), form='X', asmregs=[['RA', 'RS', 'SH'], '(Rc=0)']), 'srawi.': instruction_info(func=<function fixedshift.op_srawi_>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA', 'CA', 'CA32']), special_regs=OrderedSet(), op_fields=OrderedSet(['SH']), form='X', asmregs=[['RA', 'RS', 'SH'], '(Rc=1)']), 'srd': instruction_info(func=<function fixedshift.op_srd>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'srd.': instruction_info(func=<function fixedshift.op_srd_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)']), 'srw': instruction_info(func=<function fixedshift.op_srw>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=0)']), 'srw.': instruction_info(func=<function fixedshift.op_srw_>, read_regs=OrderedSet(['RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RS', 'RB'], '(Rc=1)'])}
op_extswsli(RS)
op_extswsli_(RS)
op_rldcl(RB, RS)
op_rldcl_(RB, RS)
op_rldcr(RB, RS)
op_rldcr_(RB, RS)
op_rldic(RS)
op_rldic_(RS)
op_rldicl(RS)
op_rldicl_(RS)
op_rldicr(RS)
op_rldicr_(RS)
op_rldimi(RS, RA)
op_rldimi_(RS, RA)
op_rlwimi(RS, RA)
op_rlwimi_(RS, RA)
op_rlwinm(RS)
op_rlwinm_(RS)
op_rlwnm(RB, RS)
op_rlwnm_(RB, RS)
op_sld(RB, RS)
op_sld_(RB, RS)
op_slw(RB, RS)
op_slw_(RB, RS)
op_srad(RB, RS)
op_srad_(RB, RS)
op_sradi(RS)
op_sradi_(RS)
op_sraw(RB, RS)
op_sraw_(RB, RS)
op_srawi(RS)
op_srawi_(RS)
op_srd(RB, RS)
op_srd_(RB, RS)
op_srw(RB, RS)
op_srw_(RB, RS)

soc.decoder.isa2.fixedstore module

class soc.decoder.isa2.fixedstore.fixedstore

Bases: object

fixedstore_instrs = {'stb': instruction_info(func=<function fixedstore.op_stb>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RS', 'D(RA)']]), 'stbu': instruction_info(func=<function fixedstore.op_stbu>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RS', 'D(RA)']]), 'stbux': instruction_info(func=<function fixedstore.op_stbux>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stbx': instruction_info(func=<function fixedstore.op_stbx>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'std': instruction_info(func=<function fixedstore.op_std>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['DS']), form='DS', asmregs=[['RS', 'DS(RA)']]), 'stdbrx': instruction_info(func=<function fixedstore.op_stdbrx>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stdu': instruction_info(func=<function fixedstore.op_stdu>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['DS']), form='DS', asmregs=[['RS', 'DS(RA)']]), 'stdux': instruction_info(func=<function fixedstore.op_stdux>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stdx': instruction_info(func=<function fixedstore.op_stdx>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'sth': instruction_info(func=<function fixedstore.op_sth>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RS', 'D(RA)']]), 'sthbrx': instruction_info(func=<function fixedstore.op_sthbrx>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'sthu': instruction_info(func=<function fixedstore.op_sthu>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RS', 'D(RA)']]), 'sthux': instruction_info(func=<function fixedstore.op_sthux>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'sthx': instruction_info(func=<function fixedstore.op_sthx>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stmw': instruction_info(func=<function fixedstore.op_stmw>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RS', 'D(RA)']]), 'stq': instruction_info(func=<function fixedstore.op_stq>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['DS', 'RSp']), form='DS', asmregs=[['RSp', 'DS(RA)']]), 'stw': instruction_info(func=<function fixedstore.op_stw>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RS', 'D(RA)']]), 'stwbrx': instruction_info(func=<function fixedstore.op_stwbrx>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stwu': instruction_info(func=<function fixedstore.op_stwu>, read_regs=OrderedSet(['RA', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(['D']), form='D', asmregs=[['RS', 'D(RA)']]), 'stwux': instruction_info(func=<function fixedstore.op_stwux>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RA']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']]), 'stwx': instruction_info(func=<function fixedstore.op_stwx>, read_regs=OrderedSet(['RA', 'RB', 'RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']])}
op_stb(RA, RS)
op_stbu(RA, RS)
op_stbux(RA, RB, RS)
op_stbx(RA, RB, RS)
op_std(RA, RS)
op_stdbrx(RA, RB, RS)
op_stdu(RA, RS)
op_stdux(RA, RB, RS)
op_stdx(RA, RB, RS)
op_sth(RA, RS)
op_sthbrx(RA, RB, RS)
op_sthu(RA, RS)
op_sthux(RA, RB, RS)
op_sthx(RA, RB, RS)
op_stmw(RA)
op_stq(RA)
op_stw(RA, RS)
op_stwbrx(RA, RB, RS)
op_stwu(RA, RS)
op_stwux(RA, RB, RS)
op_stwx(RA, RB, RS)

soc.decoder.isa2.fixedtrap module

class soc.decoder.isa2.fixedtrap.fixedtrap

Bases: object

fixedtrap_instrs = {'isel': instruction_info(func=<function fixedtrap.op_isel>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR', 'RT']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BC']), form='A', asmregs=[['RT', 'RA', 'RB', 'BC']]), 'td': instruction_info(func=<function fixedtrap.op_td>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['TO']), form='X', asmregs=[['TO', 'RA', 'RB']]), 'tdi': instruction_info(func=<function fixedtrap.op_tdi>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['SI', 'TO']), form='D', asmregs=[['TO', 'RA', 'SI']]), 'tw': instruction_info(func=<function fixedtrap.op_tw>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['TO']), form='X', asmregs=[['TO', 'RA', 'RB']]), 'twi': instruction_info(func=<function fixedtrap.op_twi>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['SI', 'TO']), form='D', asmregs=[['TO', 'RA', 'SI']])}
op_isel(RA, RB, CR)
op_td(RA, RB)
op_tdi(RA)
op_tw(RA, RB)
op_twi(RA)

soc.decoder.isa2.sprset module

class soc.decoder.isa2.sprset.sprset

Bases: object

op_mcrxrx(CR)
op_mfcr(CR)
op_mfmsr(MSR)
op_mfocrf(RT, CR)
op_mfspr()
op_mtcrf(RS, CR)
op_mtmsr(RS, MSR)
op_mtmsrd(RS, MSR)
op_mtocrf(RS, CR)
op_mtspr(RS)
op_setb(CR)
sprset_instrs = {'mcrxrx': instruction_info(func=<function sprset.op_mcrxrx>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BF']), form='X', asmregs=[['BF']]), 'mfcr': instruction_info(func=<function sprset.op_mfcr>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR', 'RT']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(), form='XFX', asmregs=[['RT']]), 'mfmsr': instruction_info(func=<function sprset.op_mfmsr>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['MSR', 'RT']), special_regs=OrderedSet(['MSR']), op_fields=OrderedSet(), form='X', asmregs=[['RT']]), 'mfocrf': instruction_info(func=<function sprset.op_mfocrf>, read_regs=OrderedSet(), uninit_regs=OrderedSet(['RT']), write_regs=OrderedSet(['RT', 'CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['FXM']), form='XFX', asmregs=[['RT', 'FXM']]), 'mfspr': instruction_info(func=<function sprset.op_mfspr>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(['spr']), form='XFX', asmregs=[['RT', 'SPR']]), 'mtcrf': instruction_info(func=<function sprset.op_mtcrf>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['FXM']), form='XFX', asmregs=[['FXM', 'RS']]), 'mtmsr': instruction_info(func=<function sprset.op_mtmsr>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['MSR']), special_regs=OrderedSet(['MSR']), op_fields=OrderedSet(['L1']), form='X', asmregs=[['RS', 'L1']]), 'mtmsrd': instruction_info(func=<function sprset.op_mtmsrd>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['MSR']), special_regs=OrderedSet(['MSR']), op_fields=OrderedSet(['L1']), form='X', asmregs=[['RS', 'L1']]), 'mtocrf': instruction_info(func=<function sprset.op_mtocrf>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['FXM']), form='XFX', asmregs=[['FXM', 'RS']]), 'mtspr': instruction_info(func=<function sprset.op_mtspr>, read_regs=OrderedSet(['RS']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['spr']), form='XFX', asmregs=[['SPR', 'RS']]), 'setb': instruction_info(func=<function sprset.op_setb>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['CR', 'RT']), special_regs=OrderedSet(['CR']), op_fields=OrderedSet(['BFA']), form='X', asmregs=[['RT', 'BFA']])}

soc.decoder.isa2.stringldst module

class soc.decoder.isa2.stringldst.stringldst

Bases: object

op_lswi(RA)
op_lswx(RA, RB)
op_stswi(RA)
op_stswx(RA, RB)
stringldst_instrs = {'lswi': instruction_info(func=<function stringldst.op_lswi>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['NB']), form='X', asmregs=[['RT', 'RA', 'NB']]), 'lswx': instruction_info(func=<function stringldst.op_lswx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['RT']), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RT', 'RA', 'RB']]), 'stswi': instruction_info(func=<function stringldst.op_stswi>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(['NB']), form='X', asmregs=[['RS', 'RA', 'NB']]), 'stswx': instruction_info(func=<function stringldst.op_stswx>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RS', 'RA', 'RB']])}

soc.decoder.isa2.system module

class soc.decoder.isa2.system.system

Bases: object

op_hrfid(MSR)
op_rfid(MSR)
op_rfscv(MSR, CTR, LR)
op_sc(MSR)
op_scv(LR, MSR)
system_instrs = {'hrfid': instruction_info(func=<function system.op_hrfid>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['MSR']), special_regs=OrderedSet(['MSR']), op_fields=OrderedSet(), form='XL', asmregs=[]), 'rfid': instruction_info(func=<function system.op_rfid>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['MSR']), special_regs=OrderedSet(['MSR']), op_fields=OrderedSet(), form='XL', asmregs=[]), 'rfscv': instruction_info(func=<function system.op_rfscv>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['MSR', 'CTR', 'LR']), special_regs=OrderedSet(['MSR', 'CTR', 'LR']), op_fields=OrderedSet(), form='XL', asmregs=[]), 'sc': instruction_info(func=<function system.op_sc>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['MSR']), special_regs=OrderedSet(['MSR']), op_fields=OrderedSet(), form='SC', asmregs=[['LEV']]), 'scv': instruction_info(func=<function system.op_scv>, read_regs=OrderedSet(), uninit_regs=OrderedSet(), write_regs=OrderedSet(['LR', 'MSR']), special_regs=OrderedSet(['LR', 'MSR']), op_fields=OrderedSet(), form='SC', asmregs=[['LEV']])}

soc.decoder.isa2.test_caller module

class soc.decoder.isa2.test_caller.DecoderTestCase(methodName='runTest')

Bases: nmutil.formaltest.FHDLTestCase

run_tst(generator, initial_regs, initial_sprs={})
run_tst_program(prog, initial_regs=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
test_add()
test_add_compare()
test_addi()
test_addpcis()
test_branch()
test_branch_cond()
test_branch_ctr()
test_branch_loop()
test_branch_loop_ctr()
test_cmp()
test_cmpeqb()
test_cntlz()
test_load_store()
test_mtcrf()
test_popcnt()
test_prty()
test_rldic()
test_rlwimi()
test_rlwinm()
test_slw()
test_srw()
class soc.decoder.isa2.test_caller.Register(num)

Bases: object

Module contents