1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-15 15:29:53 +00:00

Rearrange into alphabetical order.

This commit is contained in:
Thomas Harte 2022-04-09 10:20:03 -04:00
parent 88d72bf31d
commit da0f7d7907

View File

@ -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
}; };
/*! /*!