openpower.decoder.isa package¶
Submodules¶
openpower.decoder.isa.all module¶
-
class
openpower.decoder.isa.all.
ISA
(*args, **kwargs)¶ Bases:
openpower.decoder.isa.caller.ISACaller
,openpower.decoder.isa.bcd.bcd
,openpower.decoder.isa.branch.branch
,openpower.decoder.isa.comparefixed.comparefixed
,openpower.decoder.isa.condition.condition
,openpower.decoder.isa.fixedarith.fixedarith
,openpower.decoder.isa.fixedldstcache.fixedldstcache
,openpower.decoder.isa.fixedload.fixedload
,openpower.decoder.isa.fixedlogical.fixedlogical
,openpower.decoder.isa.fixedshift.fixedshift
,openpower.decoder.isa.fixedstore.fixedstore
,openpower.decoder.isa.fixedtrap.fixedtrap
,openpower.decoder.isa.simplev.simplev
,openpower.decoder.isa.sprset.sprset
,openpower.decoder.isa.stringldst.stringldst
,openpower.decoder.isa.system.system
openpower.decoder.isa.bcd module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.branch module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.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
openpower.decoder.isa.caller.
CRFields
(init=0)¶ Bases:
object
-
EQ
= 2¶
-
FE
= 2¶
-
FG
= 1¶
-
FL
= 0¶
-
FU
= 3¶
-
GT
= 1¶
-
LT
= 0¶
-
SO
= 3¶
-
-
class
openpower.decoder.isa.caller.
GPR
(decoder, isacaller, svstate, regfile)¶ Bases:
dict
-
dump
()¶
-
getz
(rnum)¶
-
set_form
(form)¶
-
-
class
openpower.decoder.isa.caller.
ISACaller
(decoder2, regfile, initial_sprs=None, initial_cr=0, initial_mem=None, initial_msr=0, initial_svstate=0, initial_insns=None, respect_pc=False, disassembly=None, initial_pc=0, bigendian=False, mmu=False, icachemmu=False)¶ Bases:
object
-
TRAP
(trap_addr=1792, trap_bit=46)¶
-
call
(name)¶ call(opcode) - the primary execution point for instructions
-
execute_one
()¶ execute one instruction
-
get_assembly_name
()¶
-
get_spr_msb
()¶
-
handle_carry_
(inputs, outputs, already_done)¶
-
handle_comparison
(outputs, cr_idx=0)¶
-
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
-
svp64_reset_loop
()¶
-
update_pc_next
()¶
-
-
class
openpower.decoder.isa.caller.
PC
(pc_init=0)¶ Bases:
object
-
update
(namespace, is_svp64)¶ updates the program counter (PC) by 4 if v3.0B mode or 8 if SVP64
-
update_nia
(is_svp64)¶
-
-
openpower.decoder.isa.caller.
create_args
(reglist, extra=None)¶
-
openpower.decoder.isa.caller.
get_pdecode_cr_out
(dec2, name)¶
-
openpower.decoder.isa.caller.
get_pdecode_idx_in
(dec2, name)¶
-
openpower.decoder.isa.caller.
get_pdecode_idx_out
(dec2, name)¶
-
openpower.decoder.isa.caller.
get_pdecode_idx_out2
(dec2, name)¶
-
openpower.decoder.isa.caller.
get_predcr
(crl, mask, vl)¶
-
openpower.decoder.isa.caller.
get_predint
(gpr, mask)¶
-
openpower.decoder.isa.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
openpower.decoder.isa.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
-
openpower.decoder.isa.comparefixed module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.condition module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.fixedarith module¶
-
class
openpower.decoder.isa.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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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', 'RT']), 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)¶
-
openpower.decoder.isa.fixedldstcache module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.fixedload module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.fixedlogical module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.fixedshift module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.fixedstore module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.fixedtrap module¶
-
class
openpower.decoder.isa.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)¶
-
openpower.decoder.isa.mem 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
openpower.decoder.isa.mem.
Mem
(row_bytes=8, initial_mem=None)¶ Bases:
object
-
ld
(address, width=8, swap=True, check_in_mem=False, instr_fetch=False)¶
-
memassign
(addr, sz, val)¶
-
st
(addr, v, width=8, swap=True)¶
-
-
openpower.decoder.isa.mem.
swap_order
(x, nbytes)¶
openpower.decoder.isa.radixmmu 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:
-
openpower.decoder.isa.radixmmu.
NLB
(x)¶ Next Level Base right shifted by 8
-
openpower.decoder.isa.radixmmu.
NLS
(x)¶ Next Level Size (PATS and RPDS in same bits btw) NLS >= 5
-
class
openpower.decoder.isa.radixmmu.
RADIX
(mem, caller)¶ Bases:
object
-
ld
(address, width=8, swap=True, check_in_mem=False, instr_fetch=False)¶
-
memassign
(addr, sz, val)¶
-
st
(address, v, width=8, swap=True)¶
-
-
openpower.decoder.isa.radixmmu.
RPDB
(x)¶ Root Page Directory Base power isa docs says 4:55 investigate
-
openpower.decoder.isa.radixmmu.
RTS
(data)¶
-
openpower.decoder.isa.radixmmu.
RTS1
(data)¶
-
openpower.decoder.isa.radixmmu.
RTS2
(data)¶
-
class
openpower.decoder.isa.radixmmu.
TestRadixMMU
(methodName='runTest')¶ Bases:
unittest.case.TestCase
-
test_RPDB
()¶
-
test_genmask
()¶
-
test_get_pgtable_addr
()¶
-
test_walk_tree_1
()¶
-
test_walk_tree_2
()¶
-
-
openpower.decoder.isa.radixmmu.
addrshift
(addr, shift)¶
-
openpower.decoder.isa.radixmmu.
genmask
(shift, size)¶
-
openpower.decoder.isa.radixmmu.
rpte_leaf
(r)¶
-
openpower.decoder.isa.radixmmu.
rpte_valid
(r)¶
openpower.decoder.isa.simplev module¶
-
class
openpower.decoder.isa.simplev.
simplev
¶ Bases:
object
-
op_setvl
(RA, SVSTATE)¶
-
op_setvl_
(RA, SVSTATE)¶
-
simplev_instrs
= {'setvl': instruction_info(func=<function simplev.op_setvl>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['SVSTATE', 'RT']), special_regs=OrderedSet(['SVSTATE']), op_fields=OrderedSet(['SVi', 'vs', 'ms']), form='SVL', asmregs=[['RT', ''], 'RA,', 'SVi,', 'vs,', 'ms']), 'setvl.': instruction_info(func=<function simplev.op_setvl_>, read_regs=OrderedSet(['RA']), uninit_regs=OrderedSet(), write_regs=OrderedSet(['SVSTATE', 'RT']), special_regs=OrderedSet(['SVSTATE']), op_fields=OrderedSet(['SVi', 'vs', 'ms']), form='SVL', asmregs=[['RT', ''], 'RA,', 'SVi,', 'vs,', 'ms'])}¶
-
openpower.decoder.isa.sprset module¶
-
class
openpower.decoder.isa.sprset.
sprset
¶ Bases:
object
-
op_dcbz
(RA, RB)¶
-
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)¶
-
op_tlbie
(RB)¶
-
sprset_instrs
= {'dcbz': instruction_info(func=<function sprset.op_dcbz>, read_regs=OrderedSet(['RA', 'RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RA', 'RB']]), '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(['RT']), 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']]), 'tlbie': instruction_info(func=<function sprset.op_tlbie>, read_regs=OrderedSet(['RB']), uninit_regs=OrderedSet(), write_regs=OrderedSet(), special_regs=OrderedSet(), op_fields=OrderedSet(), form='X', asmregs=[['RB', 'RS', 'RIC', 'PRS', 'R']])}¶
-
openpower.decoder.isa.stringldst module¶
-
class
openpower.decoder.isa.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']])}¶
-
openpower.decoder.isa.system module¶
-
class
openpower.decoder.isa.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']])}¶
-
openpower.decoder.isa.test_caller module¶
-
class
openpower.decoder.isa.test_caller.
DecoderTestCase
(methodName='runTest')¶ Bases:
nmutil.formaltest.FHDLTestCase
-
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_link
()¶
-
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
()¶
-
-
openpower.decoder.isa.test_caller.
run_tst
(generator, initial_regs, initial_sprs=None, svstate=0, mmu=False, initial_cr=0, mem=None)¶
openpower.decoder.isa.test_caller_radix module¶
openpower.decoder.isa.test_caller_setvl module¶
openpower.decoder.isa.test_caller_svp64 module¶
openpower.decoder.isa.test_caller_svp64_predication module¶
-
class
openpower.decoder.isa.test_caller_svp64_predication.
DecoderTestCase
(methodName='runTest')¶ Bases:
nmutil.formaltest.FHDLTestCase
-
run_tst_program
(prog, initial_regs=None, svstate=None, initial_cr=0)¶
-
test_crpred_reentrant
()¶
-
test_intpred_reentrant
()¶
-
test_intpred_twinpred
()¶
-
test_intpred_vcompress
()¶
-
test_intpred_vexpand
()¶
-
test_shift_one_by_r3_dest
()¶
-
test_shift_one_by_r3_source
()¶
-
test_sv_add_cr_pred
()¶
-
test_sv_add_intpred
()¶
-
test_sv_extsw_intpred
()¶
-
test_sv_extsw_intpred_dz
()¶
-
tst_sv_add_2
()¶
-
tst_sv_add_3
()¶
-
tst_sv_add_cr
()¶
-
tst_sv_add_vl_0
()¶
-
tst_sv_load_store
()¶
-