mirror of
https://github.com/TomHarte/CLK.git
synced 2024-10-11 08:23:43 +00:00
Rearrange into alphabetical order.
This commit is contained in:
parent
88d72bf31d
commit
da0f7d7907
@ -85,26 +85,26 @@ enum class Operation: uint8_t {
|
|||||||
/// rD(), rA()
|
/// rD(), rA()
|
||||||
clcs,
|
clcs,
|
||||||
|
|
||||||
/// Divide.
|
|
||||||
/// div div. divo divo.
|
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
|
||||||
divx,
|
|
||||||
|
|
||||||
/// Divide short.
|
/// Divide short.
|
||||||
/// divs divs. divso divso.
|
/// divs divs. divso divso.
|
||||||
/// rD(), rA(), rB() [rc(), eo()]
|
/// rD(), rA(), rB() [rc(), eo()]
|
||||||
divsx,
|
divsx,
|
||||||
|
|
||||||
/// Difference or zero.
|
/// Divide.
|
||||||
/// doz doz. dozo dozo.
|
/// div div. divo divo.
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
dozx,
|
divx,
|
||||||
|
|
||||||
/// Difference or zero immediate.
|
/// Difference or zero immediate.
|
||||||
/// dozi
|
/// dozi
|
||||||
/// rD(), rA(), simm()
|
/// rD(), rA(), simm()
|
||||||
dozi,
|
dozi,
|
||||||
|
|
||||||
|
/// Difference or zero.
|
||||||
|
/// doz doz. dozo dozo.
|
||||||
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
|
dozx,
|
||||||
|
|
||||||
/// Load string and compare byte indexed.
|
/// Load string and compare byte indexed.
|
||||||
/// lscbx lsxbx.
|
/// lscbx lsxbx.
|
||||||
/// rD(), rA(), rB() [rc()]
|
/// rD(), rA(), rB() [rc()]
|
||||||
@ -140,16 +140,16 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
rribx,
|
rribx,
|
||||||
|
|
||||||
/// Shift left extended.
|
|
||||||
/// sle sle.
|
|
||||||
/// rA(), rS(), rB() [rc()]
|
|
||||||
slex,
|
|
||||||
|
|
||||||
/// Shift left extended with MQ.
|
/// Shift left extended with MQ.
|
||||||
/// sleq sleq.
|
/// sleq sleq.
|
||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
sleqx,
|
sleqx,
|
||||||
|
|
||||||
|
/// Shift left extended.
|
||||||
|
/// sle sle.
|
||||||
|
/// rA(), rS(), rB() [rc()]
|
||||||
|
slex,
|
||||||
|
|
||||||
/// Shift left immediate with MQ.
|
/// Shift left immediate with MQ.
|
||||||
/// sliq sliq.
|
/// sliq sliq.
|
||||||
/// rA(), rS(), sh() [rc()]
|
/// rA(), rS(), sh() [rc()]
|
||||||
@ -180,11 +180,6 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
sraqx,
|
sraqx,
|
||||||
|
|
||||||
/// Shift right extended.
|
|
||||||
/// sre sre.
|
|
||||||
/// rA(), rS(), rB() [rc()]
|
|
||||||
srex,
|
|
||||||
|
|
||||||
/// Shift right extended algebraic.
|
/// Shift right extended algebraic.
|
||||||
/// srea srea.
|
/// srea srea.
|
||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
@ -195,6 +190,11 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
sreqx,
|
sreqx,
|
||||||
|
|
||||||
|
/// Shift right extended.
|
||||||
|
/// sre sre.
|
||||||
|
/// rA(), rS(), rB() [rc()]
|
||||||
|
srex,
|
||||||
|
|
||||||
/// Shift right immediate with MQ.
|
/// Shift right immediate with MQ.
|
||||||
/// sriq sriq.
|
/// sriq sriq.
|
||||||
/// rA(), rS(), sh() [rc()]
|
/// rA(), rS(), sh() [rc()]
|
||||||
@ -219,11 +219,6 @@ enum class Operation: uint8_t {
|
|||||||
// MARK: - 32- and 64-bit PowerPC instructions.
|
// MARK: - 32- and 64-bit PowerPC instructions.
|
||||||
//
|
//
|
||||||
|
|
||||||
/// Add.
|
|
||||||
/// add add. addo addo.
|
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
|
||||||
addx,
|
|
||||||
|
|
||||||
/// Add carrying.
|
/// Add carrying.
|
||||||
/// addc addc. addco addco.
|
/// addc addc. addco addco.
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
@ -259,16 +254,16 @@ enum class Operation: uint8_t {
|
|||||||
/// rD(), rA() [rc(), oe()]
|
/// rD(), rA() [rc(), oe()]
|
||||||
addmex,
|
addmex,
|
||||||
|
|
||||||
|
/// Add.
|
||||||
|
/// add add. addo addo.
|
||||||
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
|
addx,
|
||||||
|
|
||||||
/// Add to zero extended.
|
/// Add to zero extended.
|
||||||
/// addze addze. addzeo addzeo.
|
/// addze addze. addzeo addzeo.
|
||||||
/// rD(), rA() [rc(), oe()]
|
/// rD(), rA() [rc(), oe()]
|
||||||
addzex,
|
addzex,
|
||||||
|
|
||||||
/// And.
|
|
||||||
/// and, and.
|
|
||||||
/// rA(), rS(), rB() [rc()]
|
|
||||||
andx,
|
|
||||||
|
|
||||||
/// And with complement.
|
/// And with complement.
|
||||||
/// andc, andc.
|
/// andc, andc.
|
||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
@ -284,10 +279,10 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), uimm()
|
/// rA(), rS(), uimm()
|
||||||
andis_,
|
andis_,
|
||||||
|
|
||||||
/// Branch unconditional.
|
/// And.
|
||||||
/// b bl ba bla
|
/// and, and.
|
||||||
/// li() [aa(), lk()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
bx,
|
andx,
|
||||||
|
|
||||||
/// Branch conditional.
|
/// Branch conditional.
|
||||||
/// bne bne+ beq bdnzt+ bdnzf bdnzt bdnzfla ...
|
/// bne bne+ beq bdnzt+ bdnzf bdnzt bdnzfla ...
|
||||||
@ -304,6 +299,11 @@ enum class Operation: uint8_t {
|
|||||||
/// bo(), bi() [aa(), lk()]
|
/// bo(), bi() [aa(), lk()]
|
||||||
bclrx,
|
bclrx,
|
||||||
|
|
||||||
|
/// Branch unconditional.
|
||||||
|
/// b bl ba bla
|
||||||
|
/// li() [aa(), lk()]
|
||||||
|
bx,
|
||||||
|
|
||||||
/// Compare
|
/// Compare
|
||||||
/// cmp
|
/// cmp
|
||||||
/// crfD(), l(), rA(), rB()
|
/// crfD(), l(), rA(), rB()
|
||||||
@ -394,16 +394,16 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rB()
|
/// rA(), rB()
|
||||||
dcbz,
|
dcbz,
|
||||||
|
|
||||||
/// Divide word.
|
|
||||||
/// divw divw. divwo divwo.
|
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
|
||||||
divwx,
|
|
||||||
|
|
||||||
/// Divide word unsigned.
|
/// Divide word unsigned.
|
||||||
/// divwu divwu. divwuo divwuo.
|
/// divwu divwu. divwuo divwuo.
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
divwux,
|
divwux,
|
||||||
|
|
||||||
|
/// Divide word.
|
||||||
|
/// divw divw. divwo divwo.
|
||||||
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
|
divwx,
|
||||||
|
|
||||||
/// External control in word indexed.
|
/// External control in word indexed.
|
||||||
/// eciwx
|
/// eciwx
|
||||||
/// rD(), rA(), rB()
|
/// rD(), rA(), rB()
|
||||||
@ -438,16 +438,16 @@ enum class Operation: uint8_t {
|
|||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
fabsx,
|
fabsx,
|
||||||
|
|
||||||
/// Floating point add.
|
|
||||||
/// fadd fadd.
|
|
||||||
/// frD(), frA(), frB() [rc()]
|
|
||||||
faddx,
|
|
||||||
|
|
||||||
/// Floating point add single precision.
|
/// Floating point add single precision.
|
||||||
/// fadds fadds.
|
/// fadds fadds.
|
||||||
/// frD(), frA(), frB() [rc()]
|
/// frD(), frA(), frB() [rc()]
|
||||||
faddsx,
|
faddsx,
|
||||||
|
|
||||||
|
/// Floating point add.
|
||||||
|
/// fadd fadd.
|
||||||
|
/// frD(), frA(), frB() [rc()]
|
||||||
|
faddx,
|
||||||
|
|
||||||
/// Floating point compare ordered.
|
/// Floating point compare ordered.
|
||||||
/// fcmpo
|
/// fcmpo
|
||||||
/// crfD(), frA(), frB()
|
/// crfD(), frA(), frB()
|
||||||
@ -468,51 +468,51 @@ enum class Operation: uint8_t {
|
|||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
fctiwzx,
|
fctiwzx,
|
||||||
|
|
||||||
/// Floating point divide.
|
|
||||||
/// fdiv fdiv.
|
|
||||||
/// frD(), frA(), frB() [rc()]
|
|
||||||
fdivx,
|
|
||||||
|
|
||||||
/// Floating point divide single precision.
|
/// Floating point divide single precision.
|
||||||
/// fdiv fdiv.
|
/// fdiv fdiv.
|
||||||
/// frD(), frA(), frB() [rc()]
|
/// frD(), frA(), frB() [rc()]
|
||||||
fdivsx,
|
fdivsx,
|
||||||
|
|
||||||
/// Floating point multiply add.
|
/// Floating point divide.
|
||||||
/// fmadd fmadd.
|
/// fdiv fdiv.
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
/// frD(), frA(), frB() [rc()]
|
||||||
fmaddx,
|
fdivx,
|
||||||
|
|
||||||
/// Floating point multiply add single precision.
|
/// Floating point multiply add single precision.
|
||||||
/// fmadds fmadds.
|
/// fmadds fmadds.
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
fmaddsx,
|
fmaddsx,
|
||||||
|
|
||||||
|
/// Floating point multiply add.
|
||||||
|
/// fmadd fmadd.
|
||||||
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
|
fmaddx,
|
||||||
|
|
||||||
/// Floating point register move.
|
/// Floating point register move.
|
||||||
/// fmr fmr.
|
/// fmr fmr.
|
||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
fmrx,
|
fmrx,
|
||||||
|
|
||||||
/// Floating point multiply subtract.
|
|
||||||
/// fmsub fmsub.
|
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
|
||||||
fmsubx,
|
|
||||||
|
|
||||||
/// Floating point multiply subtract single precision.
|
/// Floating point multiply subtract single precision.
|
||||||
/// fmsubx fmsubx.
|
/// fmsubx fmsubx.
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
fmsubsx,
|
fmsubsx,
|
||||||
|
|
||||||
/// Floating point multiply.
|
/// Floating point multiply subtract.
|
||||||
/// fmul fmul.
|
/// fmsub fmsub.
|
||||||
/// frD(), frA(), frC() [rc()]
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
fmulx,
|
fmsubx,
|
||||||
|
|
||||||
/// Floating point multiply single precision.
|
/// Floating point multiply single precision.
|
||||||
/// fmuls fmuls.
|
/// fmuls fmuls.
|
||||||
/// frD(), frA(), frC() [rc()]
|
/// frD(), frA(), frC() [rc()]
|
||||||
fmulsx,
|
fmulsx,
|
||||||
|
|
||||||
|
/// Floating point multiply.
|
||||||
|
/// fmul fmul.
|
||||||
|
/// frD(), frA(), frC() [rc()]
|
||||||
|
fmulx,
|
||||||
|
|
||||||
/// Floating negative absolute value.
|
/// Floating negative absolute value.
|
||||||
/// fnabs fnabs.
|
/// fnabs fnabs.
|
||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
@ -523,41 +523,41 @@ enum class Operation: uint8_t {
|
|||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
fnegx,
|
fnegx,
|
||||||
|
|
||||||
/// Floating point negative multiply add.
|
|
||||||
/// fnmadd fnmadd.
|
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
|
||||||
fnmaddx,
|
|
||||||
|
|
||||||
/// Floating point negative multiply add single precision.
|
/// Floating point negative multiply add single precision.
|
||||||
/// fnmadds fnmadds.
|
/// fnmadds fnmadds.
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
fnmaddsx,
|
fnmaddsx,
|
||||||
|
|
||||||
/// Floating point negative multiply subtract.
|
/// Floating point negative multiply add.
|
||||||
/// fnmsub fnmsub.
|
/// fnmadd fnmadd.
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
fnmsubx,
|
fnmaddx,
|
||||||
|
|
||||||
/// Floating point negative multiply add.
|
/// Floating point negative multiply add.
|
||||||
/// fnmsubs fnmsubs.
|
/// fnmsubs fnmsubs.
|
||||||
/// frD(), frA(), frC(), frB() [rc()]
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
fnmsubsx,
|
fnmsubsx,
|
||||||
|
|
||||||
|
/// Floating point negative multiply subtract.
|
||||||
|
/// fnmsub fnmsub.
|
||||||
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
|
fnmsubx,
|
||||||
|
|
||||||
/// Floating point round to single precision.
|
/// Floating point round to single precision.
|
||||||
/// frsp frsp.
|
/// frsp frsp.
|
||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
frspx,
|
frspx,
|
||||||
|
|
||||||
/// Floating point subtract.
|
|
||||||
/// fsub fsub.
|
|
||||||
/// frD(), frA(), frB() [rc()]
|
|
||||||
fsubx,
|
|
||||||
|
|
||||||
/// Floating point subtract single precision.
|
/// Floating point subtract single precision.
|
||||||
/// fsubs fsubs.
|
/// fsubs fsubs.
|
||||||
/// frD(), frA(), frB() [rc()]
|
/// frD(), frA(), frB() [rc()]
|
||||||
fsubsx,
|
fsubsx,
|
||||||
|
|
||||||
|
/// Floating point subtract.
|
||||||
|
/// fsub fsub.
|
||||||
|
/// frD(), frA(), frB() [rc()]
|
||||||
|
fsubx,
|
||||||
|
|
||||||
/// Instruction cache block invalidate.
|
/// Instruction cache block invalidate.
|
||||||
/// icbi
|
/// icbi
|
||||||
/// rA(), rB()
|
/// rA(), rB()
|
||||||
@ -816,6 +816,8 @@ enum class Operation: uint8_t {
|
|||||||
mulhwux,
|
mulhwux,
|
||||||
|
|
||||||
/// Multiply low immediate.
|
/// Multiply low immediate.
|
||||||
|
/// mulli
|
||||||
|
/// rD(), rA(), simm()
|
||||||
mulli,
|
mulli,
|
||||||
|
|
||||||
/// Multiply low word.
|
/// Multiply low word.
|
||||||
@ -838,11 +840,6 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
norx,
|
norx,
|
||||||
|
|
||||||
/// OR.
|
|
||||||
/// or or.
|
|
||||||
/// rA(), rS(), rB() [rc()]
|
|
||||||
orx,
|
|
||||||
|
|
||||||
/// OR with complement.
|
/// OR with complement.
|
||||||
/// orc orc.
|
/// orc orc.
|
||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
@ -858,6 +855,11 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), uimm()
|
/// rA(), rS(), uimm()
|
||||||
oris,
|
oris,
|
||||||
|
|
||||||
|
/// OR.
|
||||||
|
/// or or.
|
||||||
|
/// rA(), rS(), rB() [rc()]
|
||||||
|
orx,
|
||||||
|
|
||||||
/// Return from interrupt.
|
/// Return from interrupt.
|
||||||
/// rfi
|
/// rfi
|
||||||
rfi,
|
rfi,
|
||||||
@ -886,16 +888,16 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
slwx,
|
slwx,
|
||||||
|
|
||||||
/// Shift right algebraic word.
|
|
||||||
/// sraw sraw.
|
|
||||||
/// rA(), rS(), rB() [rc()]
|
|
||||||
srawx,
|
|
||||||
|
|
||||||
/// Shift right algebraic word immediate.
|
/// Shift right algebraic word immediate.
|
||||||
/// srawi srawi.
|
/// srawi srawi.
|
||||||
/// rA(), rS(), sh() [rc()]
|
/// rA(), rS(), sh() [rc()]
|
||||||
srawix,
|
srawix,
|
||||||
|
|
||||||
|
/// Shift right algebraic word.
|
||||||
|
/// sraw sraw.
|
||||||
|
/// rA(), rS(), rB() [rc()]
|
||||||
|
srawx,
|
||||||
|
|
||||||
/// Shift right word.
|
/// Shift right word.
|
||||||
/// srw srw.
|
/// srw srw.
|
||||||
/// rA(), rS(), rB() [rc()]
|
/// rA(), rS(), rB() [rc()]
|
||||||
@ -1031,11 +1033,6 @@ enum class Operation: uint8_t {
|
|||||||
/// rS(), rA(), rB()
|
/// rS(), rA(), rB()
|
||||||
stwx,
|
stwx,
|
||||||
|
|
||||||
/// Subtract from.
|
|
||||||
/// subf subf. subfo subfo.
|
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
|
||||||
subfx,
|
|
||||||
|
|
||||||
/// Subtract from carrying.
|
/// Subtract from carrying.
|
||||||
/// subfc subfc. subfco subfco.
|
/// subfc subfc. subfco subfco.
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
@ -1056,6 +1053,11 @@ enum class Operation: uint8_t {
|
|||||||
/// rD(), rA() [rc(), oe()]
|
/// rD(), rA() [rc(), oe()]
|
||||||
subfmex,
|
subfmex,
|
||||||
|
|
||||||
|
/// Subtract from.
|
||||||
|
/// subf subf. subfo subfo.
|
||||||
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
|
subfx,
|
||||||
|
|
||||||
/// Subtract from zero extended.
|
/// Subtract from zero extended.
|
||||||
/// subfze subfze. subfzeo subfzeo.
|
/// subfze subfze. subfzeo subfzeo.
|
||||||
/// rD(), rA() [rc(), oe()]
|
/// rD(), rA() [rc(), oe()]
|
||||||
@ -1075,11 +1077,6 @@ enum class Operation: uint8_t {
|
|||||||
/// to(), rA(), simm()
|
/// to(), rA(), simm()
|
||||||
twi,
|
twi,
|
||||||
|
|
||||||
/// Xor.
|
|
||||||
/// xor xor.
|
|
||||||
/// rA(), rS(), rB() [rc()]
|
|
||||||
xorx,
|
|
||||||
|
|
||||||
/// Xor immediate.
|
/// Xor immediate.
|
||||||
/// xori
|
/// xori
|
||||||
/// rA(), rs(), uimm()
|
/// rA(), rs(), uimm()
|
||||||
@ -1090,6 +1087,11 @@ enum class Operation: uint8_t {
|
|||||||
/// rA(), rS(), uimm()
|
/// rA(), rS(), uimm()
|
||||||
xoris,
|
xoris,
|
||||||
|
|
||||||
|
/// Xor.
|
||||||
|
/// xor xor.
|
||||||
|
/// rA(), rS(), rB() [rc()]
|
||||||
|
xorx,
|
||||||
|
|
||||||
//
|
//
|
||||||
// MARK: - 32-bit, supervisor level.
|
// MARK: - 32-bit, supervisor level.
|
||||||
//
|
//
|
||||||
@ -1103,16 +1105,16 @@ enum class Operation: uint8_t {
|
|||||||
// MARK: - Supervisor, optional.
|
// MARK: - Supervisor, optional.
|
||||||
//
|
//
|
||||||
|
|
||||||
/// Translation lookaside buffer invalidate all.
|
/// Translation lookaside buffer ('TLB') invalidate all.
|
||||||
/// tlbia
|
/// tlbia
|
||||||
tlbia,
|
tlbia,
|
||||||
|
|
||||||
/// Translation lookaside buffer invalidate entry.
|
/// Translation lookaside buffer ('TLB') invalidate entry.
|
||||||
/// tlbie
|
/// tlbie
|
||||||
/// rB()
|
/// rB()
|
||||||
tlbie,
|
tlbie,
|
||||||
|
|
||||||
/// Translation lookaside buffer synchronise.
|
/// Translation lookaside buffer ('TLB') synchronise.
|
||||||
/// tlbsync
|
/// tlbsync
|
||||||
tlbsync,
|
tlbsync,
|
||||||
|
|
||||||
@ -1120,6 +1122,11 @@ enum class Operation: uint8_t {
|
|||||||
// MARK: - Optional.
|
// MARK: - Optional.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
/// Move from time base.
|
||||||
|
/// mftb
|
||||||
|
/// rD(), tbr()
|
||||||
|
mftb,
|
||||||
|
|
||||||
/// Floaring point reciprocal estimate single precision.
|
/// Floaring point reciprocal estimate single precision.
|
||||||
/// fres fres.
|
/// fres fres.
|
||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
@ -1135,19 +1142,16 @@ enum class Operation: uint8_t {
|
|||||||
/// frD(), frA(), frC(), frB() [rc()]
|
/// frD(), frA(), frC(), frB() [rc()]
|
||||||
fselx,
|
fselx,
|
||||||
|
|
||||||
|
/// Floating point square root single precision.
|
||||||
|
/// fsqrts fsqrts.
|
||||||
|
/// frD(), frB() [rc()]
|
||||||
|
fsqrtsx,
|
||||||
|
|
||||||
/// Floating Point square root.
|
/// Floating Point square root.
|
||||||
/// fsqrt fsqrt.
|
/// fsqrt fsqrt.
|
||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
fsqrtx,
|
fsqrtx,
|
||||||
|
|
||||||
/// Move from time base.
|
|
||||||
/// mftb
|
|
||||||
/// rD(), tbr()
|
|
||||||
mftb,
|
|
||||||
|
|
||||||
|
|
||||||
slbia, slbie,
|
|
||||||
|
|
||||||
/// Store floating point as integer word indexed.
|
/// Store floating point as integer word indexed.
|
||||||
/// stfiwx
|
/// stfiwx
|
||||||
/// frS(), rA(), rB()
|
/// frS(), rA(), rB()
|
||||||
@ -1156,18 +1160,22 @@ enum class Operation: uint8_t {
|
|||||||
//
|
//
|
||||||
// MARK: - 64-bit only PowerPC instructions.
|
// MARK: - 64-bit only PowerPC instructions.
|
||||||
//
|
//
|
||||||
cntlzdx,
|
|
||||||
|
|
||||||
/// Divide double word.
|
/// Count leading zero double word.
|
||||||
/// divd divd. divdo divdo.
|
/// cntlzd cntlzd.
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
/// rA(), rS() [rc()]
|
||||||
divdx,
|
cntlzdx,
|
||||||
|
|
||||||
/// Divide double word unsigned.
|
/// Divide double word unsigned.
|
||||||
/// divdu divdu. divduo divduo.
|
/// divdu divdu. divduo divduo.
|
||||||
/// rD(), rA(), rB() [rc(), oe()]
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
divdux,
|
divdux,
|
||||||
|
|
||||||
|
/// Divide double word.
|
||||||
|
/// divd divd. divdo divdo.
|
||||||
|
/// rD(), rA(), rB() [rc(), oe()]
|
||||||
|
divdx,
|
||||||
|
|
||||||
/// Extend sign word.
|
/// Extend sign word.
|
||||||
/// extsw extsw.
|
/// extsw extsw.
|
||||||
/// rA(), rS() [rc()]
|
/// rA(), rS() [rc()]
|
||||||
@ -1188,8 +1196,79 @@ enum class Operation: uint8_t {
|
|||||||
/// frD(), frB() [rc()]
|
/// frD(), frB() [rc()]
|
||||||
fctidzx,
|
fctidzx,
|
||||||
|
|
||||||
tdi, mulhdux,
|
/// Load double word and reserve indezed.
|
||||||
ldx, sldx, ldux, td, mulhdx, ldarx,
|
/// ldarx
|
||||||
|
/// rD(), rA(), rB()
|
||||||
|
ldarx,
|
||||||
|
|
||||||
|
/// Load double word with update indexed.
|
||||||
|
/// ldux
|
||||||
|
/// frD(), rA(), rB()
|
||||||
|
ldux,
|
||||||
|
|
||||||
|
/// Load double word indexed.
|
||||||
|
/// ldx
|
||||||
|
/// frD(), d() [ rA() ]
|
||||||
|
ldx,
|
||||||
|
|
||||||
|
/// Load word algebraic.
|
||||||
|
/// lwa
|
||||||
|
/// rD(), rA(), rB()
|
||||||
|
lwa,
|
||||||
|
|
||||||
|
/// Load word algebraic with update indexed.
|
||||||
|
/// lwaux
|
||||||
|
/// rD(), rA(), rB()
|
||||||
|
lwaux,
|
||||||
|
|
||||||
|
/// Load word algebraic indexed.
|
||||||
|
/// lwax
|
||||||
|
/// rD(), rA(), rB()
|
||||||
|
lwax,
|
||||||
|
|
||||||
|
/// Multiply high double word unsigned.
|
||||||
|
/// mulhdy mulhdu.
|
||||||
|
/// rD(), rA(), rB() [rc()]
|
||||||
|
mulhdux,
|
||||||
|
|
||||||
|
/// Multiply high double word.
|
||||||
|
/// mulhd mulhd.
|
||||||
|
/// rD(), rA(), rB() [rc()]
|
||||||
|
mulhdx,
|
||||||
|
|
||||||
|
/// Multiply low double word.
|
||||||
|
/// mulld mulld. mulldo mulldo.
|
||||||
|
/// rD(), rA(), rB() [rc()]
|
||||||
|
mulld,
|
||||||
|
|
||||||
|
/// Segment lookaside buffer ('SLB') invalidate all.
|
||||||
|
/// slbia
|
||||||
|
slbia,
|
||||||
|
|
||||||
|
/// Segment lookaside buffer ('SLB') invalidate entry.
|
||||||
|
/// slbie
|
||||||
|
/// rB()
|
||||||
|
slbie,
|
||||||
|
|
||||||
|
/// Shift left double word.
|
||||||
|
/// sld sld.
|
||||||
|
/// rA(), rS(), rB()
|
||||||
|
sldx,
|
||||||
|
|
||||||
|
/// Shift right algebraic double word immediate.
|
||||||
|
/// sradi sradi.
|
||||||
|
/// rA(), rS(),sh() [rc()]
|
||||||
|
sradix,
|
||||||
|
|
||||||
|
/// Shift right algebraic double word.
|
||||||
|
/// srad srad,
|
||||||
|
/// rA(), rS(), rB() [rc()]
|
||||||
|
sradx,
|
||||||
|
|
||||||
|
/// Shift right double word.
|
||||||
|
/// srd srd.
|
||||||
|
/// rA(), rS(), rB() [rc()]
|
||||||
|
srdx,
|
||||||
|
|
||||||
/// Store double.
|
/// Store double.
|
||||||
/// std
|
/// std
|
||||||
@ -1216,31 +1295,15 @@ enum class Operation: uint8_t {
|
|||||||
/// rS(), rA(), rB()
|
/// rS(), rA(), rB()
|
||||||
stdx,
|
stdx,
|
||||||
|
|
||||||
mulld,
|
/// Trap double word.
|
||||||
|
/// td
|
||||||
|
/// to(), rA(), rB()
|
||||||
|
td,
|
||||||
|
|
||||||
/// Load word algebraic.
|
/// Trap double word immediate.
|
||||||
/// lwa
|
/// tdi
|
||||||
/// rD(), rA(), rB()
|
/// to(), rA(), simm()
|
||||||
lwa,
|
tdi,
|
||||||
|
|
||||||
/// Load word algebraic with update indexed.
|
|
||||||
/// lwaux
|
|
||||||
/// rD(), rA(), rB()
|
|
||||||
lwaux,
|
|
||||||
|
|
||||||
/// Load word algebraic indexed.
|
|
||||||
/// lwax
|
|
||||||
/// rD(), rA(), rB()
|
|
||||||
lwax,
|
|
||||||
|
|
||||||
sradix, srdx,
|
|
||||||
|
|
||||||
/// Shift right algebraic double word.
|
|
||||||
/// srad srad,
|
|
||||||
/// rA(), rS(), rB() [rc()]
|
|
||||||
sradx,
|
|
||||||
|
|
||||||
fsqrtsx
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
Loading…
Reference in New Issue
Block a user