ppc750cl/asm/src/generated.rs

3619 lines
117 KiB
Rust

use crate::prelude::*;
pub enum Field {
Simm,
Uimm,
Offset,
PsOffset,
BO,
BI,
BH,
BD,
LI,
SH,
MB,
ME,
RS,
RD,
RA,
RA_Nz,
RB,
RC,
Sr,
Spr,
FrS,
FrD,
FrA,
FrB,
FrC,
CrbD,
CrbA,
CrbB,
CrfD,
CrfS,
Crm,
PsI,
PsIX,
PsW,
PsWX,
NB,
Tbr,
MtfsfFM,
MtfsfIMM,
SprSPRG,
SprBAT,
TO,
L,
}
pub const fn apply_field(code: u32, field: Field, value: i32) -> u32 {
match field {
Field::Simm => code | (value as u32 & 0xffff),
Field::Uimm => code | (value as u32 & 0xffff),
Field::Offset => code | (value as u32 & 0xffff),
Field::PsOffset => code | (value as u32 & 0xfff),
Field::BO => code | ((value as u32 & 0x1f) << 21u8),
Field::BI => code | ((value as u32 & 0x1f) << 16u8),
Field::BH => code | ((value as u32 & 0x3) << 11u8),
Field::BD => code | (((value as u32 >> 2u8) & 0x3fff) << 2u8),
Field::LI => code | (((value as u32 >> 2u8) & 0xffffff) << 2u8),
Field::SH => code | ((value as u32 & 0x1f) << 11u8),
Field::MB => code | ((value as u32 & 0x1f) << 6u8),
Field::ME => code | ((value as u32 & 0x1f) << 1u8),
Field::RS => code | ((value as u32 & 0x1f) << 21u8),
Field::RD => code | ((value as u32 & 0x1f) << 21u8),
Field::RA => code | ((value as u32 & 0x1f) << 16u8),
Field::RA_Nz => code | ((value as u32 & 0x1f) << 16u8),
Field::RB => code | ((value as u32 & 0x1f) << 11u8),
Field::RC => code | ((value as u32 & 0x1f) << 6u8),
Field::Sr => code | ((value as u32 & 0xf) << 16u8),
Field::Spr => {
code | (((((value as u32 & 0b11111_00000u32) >> 5u32)
| ((value as u32 & 0b00000_11111u32) << 5u32)) as u32
& 0x3ff)
<< 11u8)
}
Field::FrS => code | ((value as u32 & 0x1f) << 21u8),
Field::FrD => code | ((value as u32 & 0x1f) << 21u8),
Field::FrA => code | ((value as u32 & 0x1f) << 16u8),
Field::FrB => code | ((value as u32 & 0x1f) << 11u8),
Field::FrC => code | ((value as u32 & 0x1f) << 6u8),
Field::CrbD => code | ((value as u32 & 0x1f) << 21u8),
Field::CrbA => code | ((value as u32 & 0x1f) << 16u8),
Field::CrbB => code | ((value as u32 & 0x1f) << 11u8),
Field::CrfD => code | ((value as u32 & 0x7) << 23u8),
Field::CrfS => code | ((value as u32 & 0x7) << 18u8),
Field::Crm => code | ((value as u32 & 0xff) << 12u8),
Field::PsI => code | ((value as u32 & 0x7) << 12u8),
Field::PsIX => code | ((value as u32 & 0x7) << 7u8),
Field::PsW => code | ((value as u32 & 0x1) << 15u8),
Field::PsWX => code | ((value as u32 & 0x1) << 10u8),
Field::NB => code | ((value as u32 & 0x1f) << 11u8),
Field::Tbr => {
code | (((((value as u32 & 0b11111_00000u32) >> 5u32)
| ((value as u32 & 0b00000_11111u32) << 5u32)) as u32
& 0x3ff)
<< 11u8)
}
Field::MtfsfFM => code | ((value as u32 & 0xff) << 17u8),
Field::MtfsfIMM => code | ((value as u32 & 0xf) << 12u8),
Field::SprSPRG => code | ((value as u32 & 0x3) << 16u8),
Field::SprBAT => code | ((value as u32 & 0x3) << 17u8),
Field::TO => code | ((value as u32 & 0x1f) << 21u8),
Field::L => code | ((value as u32 & 0x1) << 21u8),
}
}
struct OpcodeInfo {
code: u32,
args: &'static [Field],
}
static OPCODES: phf::Map<&'static str, &'static [Option<OpcodeInfo>]> = ::phf::Map {
key: 12913932095322966823,
disps: &[
(0, 10),
(1, 31),
(0, 3),
(0, 91),
(0, 71),
(0, 151),
(0, 1),
(1, 0),
(0, 3),
(1, 410),
(0, 41),
(0, 22),
(0, 10),
(0, 35),
(0, 1),
(0, 392),
(0, 436),
(0, 258),
(0, 3),
(0, 538),
(0, 55),
(0, 0),
(0, 3),
(0, 25),
(0, 129),
(0, 9),
(0, 24),
(0, 317),
(0, 14),
(0, 1),
(0, 8),
(0, 254),
(0, 0),
(0, 55),
(0, 78),
(0, 3),
(1, 112),
(0, 8),
(0, 184),
(0, 88),
(0, 0),
(0, 21),
(0, 327),
(0, 0),
(0, 3),
(0, 42),
(0, 3),
(0, 114),
(0, 2),
(0, 8),
(0, 2),
(0, 7),
(0, 102),
(10, 498),
(2, 149),
(0, 64),
(0, 136),
(0, 7),
(0, 164),
(0, 568),
(2, 203),
(0, 11),
(2, 485),
(0, 0),
(0, 77),
(0, 192),
(0, 59),
(0, 352),
(2, 413),
(0, 28),
(0, 189),
(1, 1),
(0, 500),
(0, 48),
(1, 217),
(0, 78),
(3, 371),
(0, 39),
(0, 143),
(0, 12),
(1, 432),
(0, 26),
(0, 492),
(0, 276),
(0, 7),
(0, 5),
(0, 451),
(0, 26),
(0, 14),
(3, 21),
(1, 209),
(0, 60),
(7, 589),
(0, 598),
(16, 484),
(0, 347),
(2, 187),
(7, 113),
(2, 72),
(3, 268),
(0, 173),
(0, 55),
(0, 490),
(0, 20),
(0, 385),
(2, 418),
(0, 107),
(9, 167),
(5, 547),
(0, 7),
(1, 127),
(0, 1),
(0, 20),
(0, 0),
(0, 7),
(27, 422),
(0, 191),
(0, 11),
(0, 237),
(0, 19),
(42, 620),
(0, 0),
(0, 296),
(12, 509),
(1, 142),
(0, 2),
(1, 206),
(0, 5),
(0, 125),
(36, 311),
(0, 23),
(0, 222),
(0, 47),
(0, 171),
],
entries: &[
("beqa-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("nop", &[Some(OpcodeInfo { code: 0x60000000, args: &[] })]),
("bnsa+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bgtlr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("andi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x70000000, args: &[Field::RA, Field::RS, Field::Uimm] }),
]),
("bge", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("addeo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000114, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("fadd.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc00002a, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("clrlslwi", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::MB, Field::SH],
}),
]),
("fmsub.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc000038,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bdnzfla-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("fmuls", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec000032, args: &[Field::FrD, Field::FrA, Field::FrC] }),
]),
("ps_nmadd", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000003e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("stfdu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xdc000000, args: &[Field::FrS, Field::Offset, Field::RA] }),
]),
("bdnztl-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("mfdar", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("bdnzla", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bsola+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdzflr+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("icbi", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0007ac, args: &[Field::RA, Field::RB] }),
]),
("mtxer", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("fres", &[
None,
None,
Some(OpcodeInfo { code: 0xec000030, args: &[Field::FrD, Field::FrB] }),
]),
("ble-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("stwux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00016e, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("lhaux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0002ee, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdzla-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bnela+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdz-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bgt-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("frsp.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000018, args: &[Field::FrD, Field::FrB] }),
]),
("cmpw", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000000, args: &[Field::RA, Field::RB] }),
Some(OpcodeInfo { code: 0x7c000000, args: &[Field::CrfD, Field::RA, Field::RB] }),
]),
("cmpld", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000040, args: &[Field::RA, Field::RB] }),
Some(OpcodeInfo { code: 0x7c000040, args: &[Field::CrfD, Field::RA, Field::RB] }),
]),
("bctrl", &[Some(OpcodeInfo { code: 0x4c000420, args: &[] })]),
("sraw.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000630, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bclrl", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("cntlzw.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000034, args: &[Field::RA, Field::RS] }),
]),
("bdnz", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bgectr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("lhzx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00022e, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("andc.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000078, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("fsel.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00002e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("stfd", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xd8000000, args: &[Field::FrS, Field::Offset, Field::RA] }),
]),
("bsoctr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("xor", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000278, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("subfc", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000010, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("oris", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x64000000, args: &[Field::RA, Field::RS, Field::Uimm] }),
]),
("tlbie", &[None, Some(OpcodeInfo { code: 0x7c000264, args: &[Field::RB] })]),
("cmpldi", &[
None,
None,
Some(OpcodeInfo { code: 0x28000000, args: &[Field::RA, Field::Uimm] }),
Some(OpcodeInfo { code: 0x28000000, args: &[Field::CrfD, Field::RA, Field::Uimm] }),
]),
("dcbf", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0000ac, args: &[Field::RA, Field::RB] }),
]),
("ps_merge11", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x100004e0, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bcctrl", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("dcbst", &[
None,
None,
Some(OpcodeInfo { code: 0x7c00006c, args: &[Field::RA, Field::RB] }),
]),
("addmeo", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d4, args: &[Field::RD, Field::RA] }),
]),
("crnand", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c0001c2, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("bdnzta+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("addco.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000014, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bgel-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bnel+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("divwo.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0003d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdnzfl-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("stb", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x98000000, args: &[Field::RS, Field::Offset, Field::RA] }),
]),
("bdzt-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("and", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000038, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bsoctr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bclrl+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("subfo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000050, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdnzl+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("mfsrr0", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("mtlr", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("lwzux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00006e, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("blel+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("lwzx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00002e, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdnzta-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnzflrl+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("stmw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xbc000000, args: &[Field::RS, Field::Offset, Field::RA] }),
]),
("bdnzla-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bnsctr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("fmr.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000090, args: &[Field::FrD, Field::FrB] }),
]),
("mtdsisr", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("cntlzw", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000034, args: &[Field::RA, Field::RS] }),
]),
("adde", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000114, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdztl+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("subfmeo", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d0, args: &[Field::RD, Field::RA] }),
]),
("bnsl-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdnza", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("addi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x38000000, args: &[Field::RD, Field::RA, Field::Simm] }),
]),
("stbux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0001ee, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("bca", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("bltctr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("extrwi.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::MB, Field::SH],
}),
]),
("bgela+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("cmpd", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000000, args: &[Field::RA, Field::RB] }),
Some(OpcodeInfo { code: 0x7c000000, args: &[Field::CrfD, Field::RA, Field::RB] }),
]),
("blrl", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("rlwimi", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x50000000,
args: &[Field::RA, Field::RS, Field::SH, Field::MB, Field::ME],
}),
]),
("bdnztla-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bgel+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bgtctrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("extsb", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000774, args: &[Field::RA, Field::RS] }),
]),
("mtfsfi", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00010c, args: &[Field::CrfD, Field::MtfsfIMM] }),
]),
("ps_sel", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000002e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("crclr", &[None, Some(OpcodeInfo { code: 0x4c000182, args: &[Field::CrbD] })]),
("bgt", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bne", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bca-", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("srwi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::MB] }),
]),
("srw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000430, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bdnzt-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bnsa-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("nand.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0003b8, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("rfi", &[Some(OpcodeInfo { code: 0x4c000000, args: &[] })]),
("ps_cmpo0", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000040, args: &[Field::CrfD, Field::FrA, Field::FrB] }),
]),
("xori", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x68000000, args: &[Field::RA, Field::RS, Field::Uimm] }),
]),
("bdzta+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("divwu.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000396, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("fnabs", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000110, args: &[Field::FrD, Field::FrB] }),
]),
("bdzlr+", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("crxor", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000182, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("bnela-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("cmpdi", &[
None,
None,
Some(OpcodeInfo { code: 0x2c000000, args: &[Field::RA, Field::Simm] }),
Some(OpcodeInfo { code: 0x2c000000, args: &[Field::CrfD, Field::RA, Field::Simm] }),
]),
("lfdux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0004ee, args: &[Field::FrD, Field::RA, Field::RB] }),
]),
("lwbrx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00042c, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("fdiv", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000024, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("fnmsub", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00003c,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bgtctr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bge+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("ble+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("addco", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000014, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("subf", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000050, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("addo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000214, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("lis", &[
None,
None,
Some(OpcodeInfo { code: 0x3c000000, args: &[Field::RD, Field::Uimm] }),
]),
("bgectr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bc", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("blt-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("stwcx.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00012d, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("subfc.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000010, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("isync", &[Some(OpcodeInfo { code: 0x4c00012c, args: &[] })]),
("bdnztlr", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("fmsubs", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec000038,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("mtsprg", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::SprSPRG, Field::RS] }),
]),
("andis.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x74000000, args: &[Field::RA, Field::RS, Field::Uimm] }),
]),
("tlbsync", &[Some(OpcodeInfo { code: 0x7c00046c, args: &[] })]),
("bdzf", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("subfco.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000010, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("addzeo.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000194, args: &[Field::RD, Field::RA] }),
]),
("bdza-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("divw.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0003d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdzfa+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdza", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("ps_div", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000024, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bsola-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("beqlrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("srw.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000430, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("frsqrte.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000034, args: &[Field::FrD, Field::FrB] }),
]),
("blta+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdnzfl", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bltlr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("rlwimi.", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x50000000,
args: &[Field::RA, Field::RS, Field::SH, Field::MB, Field::ME],
}),
]),
("mtfsb0.", &[None, Some(OpcodeInfo { code: 0xfc00008c, args: &[Field::CrbD] })]),
("dcbt", &[
None,
None,
Some(OpcodeInfo { code: 0x7c00022c, args: &[Field::RA, Field::RB] }),
]),
("fdiv.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000024, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bdnzl", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("mfctr", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("lhbrx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00062c, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bnslrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("mfdsisr", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("bdztl", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bltla", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bcl", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("bdzfla-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("lhax", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0002ae, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bgtl-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("fctiw.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00001c, args: &[Field::FrD, Field::FrB] }),
]),
("blea", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("ps_mul", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000032, args: &[Field::FrD, Field::FrA, Field::FrC] }),
]),
("crnor", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000042, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("beqctr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bdnzf-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("clrrwi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::ME] }),
]),
("bdztla", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bsola", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("lha", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xa8000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("extrwi", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::MB, Field::SH],
}),
]),
("ps_madd", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000003a,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bdnztl", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bgela-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("fmuls.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec000032, args: &[Field::FrD, Field::FrA, Field::FrC] }),
]),
("bgtla+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mullw.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0001d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("fsub", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000028, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bltlr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("mfcr", &[None, Some(OpcodeInfo { code: 0x7c000026, args: &[Field::RD] })]),
("bdnz+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("cror", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000382, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("twgti", &[
None,
None,
Some(OpcodeInfo { code: 0xc0000000, args: &[Field::RA, Field::Simm] }),
]),
("crset", &[None, Some(OpcodeInfo { code: 0x4c000242, args: &[Field::CrbD] })]),
("bgectrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bnectrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bgtl", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("subfme", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d0, args: &[Field::RD, Field::RA] }),
]),
("stw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x90000000, args: &[Field::RS, Field::Offset, Field::RA] }),
]),
("bnea-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("beqctrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("fnmadd.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00003e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("mfdbatu", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD, Field::SprBAT] }),
]),
("bdzla+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bc+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("bdzlrl+", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("bdztlrl+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("bns", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mtear", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("ps_abs", &[
None,
None,
Some(OpcodeInfo { code: 0x10000210, args: &[Field::FrD, Field::FrB] }),
]),
("ps_neg", &[
None,
None,
Some(OpcodeInfo { code: 0x10000050, args: &[Field::FrD, Field::FrB] }),
]),
("bdnzlr", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("fmsub", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc000038,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bns+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bnsl+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("beqctr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bgectrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bgelr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("lwzu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x84000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("srawi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000670, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("ecowx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00036c, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("blelr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("mtdar", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("divwo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0003d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("orc.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000338, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bdnztla+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("mtcrf", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000120, args: &[Field::Crm, Field::RS] }),
]),
("subfmeo.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d0, args: &[Field::RD, Field::RA] }),
]),
("addis", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x3c000000, args: &[Field::RD, Field::RA, Field::Uimm] }),
]),
("bgea+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mtspr", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::Spr, Field::RS] }),
]),
("lswi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0004aa, args: &[Field::RD, Field::RA, Field::NB] }),
]),
("frsqrte", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000034, args: &[Field::FrD, Field::FrB] }),
]),
("bdzflrl+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("subfze", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000190, args: &[Field::RD, Field::RA] }),
]),
("beql", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("cmpl", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x7c000040,
args: &[Field::CrfD, Field::L, Field::RA, Field::RB],
}),
]),
("frsp", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000018, args: &[Field::FrD, Field::FrB] }),
]),
("bnelr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("xor.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000278, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bltl+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("blectr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bsol", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdnzf+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnzf", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnzt", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("ps_msub", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x10000038,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("fnabs.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000110, args: &[Field::FrD, Field::FrB] }),
]),
("bdza+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("ps_rsqrte", &[
None,
None,
Some(OpcodeInfo { code: 0x10000034, args: &[Field::FrD, Field::FrB] }),
]),
("bgtla", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mcrf", &[
None,
None,
Some(OpcodeInfo { code: 0x4c000000, args: &[Field::CrfD, Field::CrfS] }),
]),
("andc", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000078, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bnectr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("ps_cmpu1", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000080, args: &[Field::CrfD, Field::FrA, Field::FrB] }),
]),
("bclr", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("bgelrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bltlrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bgelr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("blel", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("eciwx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00026c, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bgta", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("blt+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("extsb.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000774, args: &[Field::RA, Field::RS] }),
]),
("psq_lx", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000000c,
args: &[Field::FrD, Field::RA, Field::RB, Field::PsWX, Field::PsIX],
}),
]),
("clrlwi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::MB] }),
]),
("ps_muls0", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000018, args: &[Field::FrD, Field::FrA, Field::FrC] }),
]),
("dcbi", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0003ac, args: &[Field::RA, Field::RB] }),
]),
("stwu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x94000000, args: &[Field::RS, Field::Offset, Field::RA] }),
]),
("orc", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000338, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("fmadds", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec00003a,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("nor", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0000f8, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("mr", &[None, None, Some(OpcodeInfo { code: 0x7c000378, args: &[Field::RA, Field::RS] })]),
("nego", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0000d0, args: &[Field::RD, Field::RA] }),
]),
("fmadd.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00003a,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("beq", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdnzlrl", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("blela", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("twllei", &[
None,
None,
Some(OpcodeInfo { code: 0xc0000000, args: &[Field::RA, Field::Simm] }),
]),
("mtsr", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001a4, args: &[Field::Sr, Field::RS] }),
]),
("bdzl-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bne+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bnsctr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("stfs", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xd0000000, args: &[Field::FrS, Field::Offset, Field::RA] }),
]),
("fctiwz", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00001e, args: &[Field::FrD, Field::FrB] }),
]),
("fnmsubs", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec00003c,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("fmsubs.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec000038,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bsolrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("lfdu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xcc000000, args: &[Field::FrD, Field::Offset, Field::RA] }),
]),
("lmw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xb8000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("beql-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mfear", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("fcmpu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000000, args: &[Field::CrfD, Field::FrA, Field::FrB] }),
]),
("bdnzta", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnza+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("fdivs.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec000024, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bdzta", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("mulhwu.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000016, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("mfibatu", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD, Field::SprBAT] }),
]),
("beqla+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdzl+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bdnzfla", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("ps_cmpu0", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000000, args: &[Field::CrfD, Field::FrA, Field::FrB] }),
]),
("ps_merge01", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000460, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("beqa+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("ps_sum0", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x10000014,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("beqlr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("fsub.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000028, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bdzfla", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("mtdec", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("bdnzt+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("subfme.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d0, args: &[Field::RD, Field::RA] }),
]),
("cmplwi", &[
None,
None,
Some(OpcodeInfo { code: 0x28000000, args: &[Field::RA, Field::Uimm] }),
Some(OpcodeInfo { code: 0x28000000, args: &[Field::CrfD, Field::RA, Field::Uimm] }),
]),
("neg.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0000d0, args: &[Field::RD, Field::RA] }),
]),
("mfsdr1", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("bdzta-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("clrlwi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::MB] }),
]),
("beqla", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mulhwu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000016, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdnzflr", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("stbu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x9c000000, args: &[Field::RS, Field::Offset, Field::RA] }),
]),
("bsoctrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("bge-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("rotlwi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("fsel", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00002e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("mcrxr", &[None, Some(OpcodeInfo { code: 0x7c000400, args: &[Field::CrfD] })]),
("stswi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0005aa, args: &[Field::RS, Field::RA, Field::NB] }),
]),
("srwi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::MB] }),
]),
("cmpi", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x2c000000,
args: &[Field::CrfD, Field::L, Field::RA, Field::Simm],
}),
]),
("ps_merge10", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x100004a0, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("ps_add", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x1000002a, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bsolr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("psq_stx", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000000e,
args: &[Field::FrS, Field::RA, Field::RB, Field::PsWX, Field::PsIX],
}),
]),
("bso+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("crmove", &[
None,
None,
Some(OpcodeInfo { code: 0x4c000382, args: &[Field::CrbD, Field::CrbA] }),
]),
("nor.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0000f8, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("subfeo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000110, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bltla+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mulhw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000096, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("rlwnm", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x5c000000,
args: &[Field::RA, Field::RS, Field::RB, Field::MB, Field::ME],
}),
]),
("fmr", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000090, args: &[Field::FrD, Field::FrB] }),
]),
("subfeo.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000110, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("fadds.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec00002a, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("and.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000038, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("add.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000214, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("subfic", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x20000000, args: &[Field::RD, Field::RA, Field::Simm] }),
]),
("fmadd", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00003a,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("stswx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00052a, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("mtsdr1", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("cmplw", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000040, args: &[Field::RA, Field::RB] }),
Some(OpcodeInfo { code: 0x7c000040, args: &[Field::CrfD, Field::RA, Field::RB] }),
]),
("bdnztlrl", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("blta", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("rotlw.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x5c000000, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bnelr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("subfe.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000110, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("mullw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0001d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bnel", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("sth", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xb0000000, args: &[Field::RS, Field::Offset, Field::RA] }),
]),
("bdnzlrl+", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("crnot", &[
None,
None,
Some(OpcodeInfo { code: 0x4c000042, args: &[Field::CrbD, Field::CrbA] }),
]),
("bnsla", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bgtctr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("srawi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000670, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("cmp", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x7c000000,
args: &[Field::CrfD, Field::L, Field::RA, Field::RB],
}),
]),
("divw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0003d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bnel-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("divwuo.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000396, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("subfe", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000110, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bcctrl+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("fadds", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec00002a, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("ps_nabs", &[
None,
None,
Some(OpcodeInfo { code: 0x10000110, args: &[Field::FrD, Field::FrB] }),
]),
("icbi.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0007ac, args: &[Field::RA, Field::RB] }),
]),
("bdztlr+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("rlwinm", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::SH, Field::MB, Field::ME],
}),
]),
("mfdbatl", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD, Field::SprBAT] }),
]),
("mfsprg", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD, Field::SprSPRG] }),
]),
("blt", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdztlrl", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("stfsux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00056e, args: &[Field::FrS, Field::RA, Field::RB] }),
]),
("or", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000378, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bdnzflr+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("mulli", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x1c000000, args: &[Field::RD, Field::RA, Field::Simm] }),
]),
("bdzflr", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("crand", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000202, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("crandc", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000102, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("clrrwi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::ME] }),
]),
("mtfsb0", &[None, Some(OpcodeInfo { code: 0xfc00008c, args: &[Field::CrbD] })]),
("addo.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000214, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("lhzu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xa4000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("lbz", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x88000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("addmeo.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d4, args: &[Field::RD, Field::RA] }),
]),
("bdzf-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdzlrl", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("bdztl-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdz+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bnea+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bnela", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("lfsx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00042e, args: &[Field::FrD, Field::RA, Field::RB] }),
]),
("mfibatl", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD, Field::SprBAT] }),
]),
("bgtctrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("fneg.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000050, args: &[Field::FrD, Field::FrB] }),
]),
("bdzfl", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnza-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("dcbz", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0007ec, args: &[Field::RA, Field::RB] }),
]),
("bnsla+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mfsr", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0004a6, args: &[Field::RD, Field::Sr] }),
]),
("mtctr", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("twi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xc0000000, args: &[Field::TO, Field::RA, Field::Simm] }),
]),
("blelrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("blelr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bnelrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bdzl", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bdnztl+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("rotlw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x5c000000, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bnectr", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("eqv", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000238, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("slwi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("addze.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000194, args: &[Field::RD, Field::RA] }),
]),
("bdzla", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("mr.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000378, args: &[Field::RA, Field::RS] }),
]),
("bdzfl-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdztla-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnzl-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("clrlslwi.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::MB, Field::SH],
}),
]),
("addic.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x34000000, args: &[Field::RD, Field::RA, Field::Simm] }),
]),
("bdnzfa-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("fadd", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc00002a, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bltl", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("beqctrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("tw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000008, args: &[Field::TO, Field::RA, Field::RB] }),
]),
("beqla-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bla", &[None, Some(OpcodeInfo { code: 0x48000000, args: &[Field::LI] })]),
("lbzu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x8c000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("ps_nmsub", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000003c,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("addc.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000014, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("psq_lu", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xe4000000,
args: &[Field::FrD, Field::PsOffset, Field::RA, Field::PsW, Field::PsI],
}),
]),
("bgela", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bgtlr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bnsla-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("blela-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("creqv", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000242, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("ori", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x60000000, args: &[Field::RA, Field::RS, Field::Uimm] }),
]),
("ps_sum1", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x10000016,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("lbzx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0000ae, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bgta+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("blr", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("rotrwi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("fneg", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000050, args: &[Field::FrD, Field::FrB] }),
]),
("add", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000214, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("mttbu", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("mfxer", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("mullwo.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0001d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("psq_stux", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000004e,
args: &[Field::FrS, Field::RA, Field::RB, Field::PsWX, Field::PsIX],
}),
]),
("fabs.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000210, args: &[Field::FrD, Field::FrB] }),
]),
("bltla-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("lfsux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00046e, args: &[Field::FrD, Field::RA, Field::RB] }),
]),
("bcctr", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("mtfsf.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00058e, args: &[Field::MtfsfFM, Field::FrB] }),
]),
("stfsu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xd4000000, args: &[Field::FrS, Field::Offset, Field::RA] }),
]),
("bdztlr", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("subfco", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000010, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("b", &[None, Some(OpcodeInfo { code: 0x48000000, args: &[Field::LI] })]),
("stfiwx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0007ae, args: &[Field::FrS, Field::RA, Field::RB] }),
]),
("mtfsb1.", &[None, Some(OpcodeInfo { code: 0xfc00004c, args: &[Field::CrbD] })]),
("mcrfs", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000080, args: &[Field::CrfD, Field::CrfS] }),
]),
("ps_muls1", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x1000001a, args: &[Field::FrD, Field::FrA, Field::FrC] }),
]),
("bcctr+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("ps_merge00", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000420, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bso-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("lhz", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xa0000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("lhau", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xac000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("blelrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("subfzeo.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000190, args: &[Field::RD, Field::RA] }),
]),
("bdz", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("blel-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("crorc", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000342, args: &[Field::CrbD, Field::CrbA, Field::CrbB] }),
]),
("fctiwz.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00001e, args: &[Field::FrD, Field::FrB] }),
]),
("bgel", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("twui", &[
None,
None,
Some(OpcodeInfo { code: 0xc0000000, args: &[Field::RA, Field::Simm] }),
]),
("bnea", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("sraw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000630, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("bdnzla+", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("ps_madds1", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000001e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bgelrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("stwx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00012e, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("blea-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mfsrr1", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("bltctrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("blea+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bgta-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mflr", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("blectrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("mtmsr", &[None, Some(OpcodeInfo { code: 0x7c000124, args: &[Field::RS] })]),
("eqv.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000238, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("addze", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000194, args: &[Field::RD, Field::RA] }),
]),
("ps_madds0", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000001c,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("rotlwi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("bdnztlr+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("addeo.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000114, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("dcbtst", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001ec, args: &[Field::RA, Field::RB] }),
]),
("bgea-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("blta-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("slw", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000030, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("mttbl", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("lwz", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x80000000, args: &[Field::RD, Field::Offset, Field::RA] }),
]),
("beqlrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("sthx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00032e, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("bsoa+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mfdec", &[None, Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD] })]),
("extlwi", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::ME, Field::SH],
}),
]),
("lfd", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xc8000000, args: &[Field::FrD, Field::Offset, Field::RA] }),
]),
("lfsu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xc4000000, args: &[Field::FrD, Field::Offset, Field::RA] }),
]),
("divwu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000396, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("fnmsubs.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec00003c,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("mullwo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0001d6, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("mtsrin", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001e4, args: &[Field::RS, Field::RB] }),
]),
("stfdux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0005ee, args: &[Field::FrS, Field::RA, Field::RB] }),
]),
("extsh.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000734, args: &[Field::RA, Field::RS] }),
]),
("bgtla-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bctr", &[Some(OpcodeInfo { code: 0x4c000420, args: &[] })]),
("bcl-", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("fmul.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000032, args: &[Field::FrD, Field::FrA, Field::FrC] }),
]),
("bltl-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("blectrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("stwbrx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00052c, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("bltctrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("addzeo", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000194, args: &[Field::RD, Field::RA] }),
]),
("bnslrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("mtibatl", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::SprBAT, Field::RS] }),
]),
("or.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000378, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("fnmsub.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00003c,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("lfs", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xc0000000, args: &[Field::FrD, Field::Offset, Field::RA] }),
]),
("bnsa", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bgtl+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bcla", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("bsol+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mtfsf", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00058e, args: &[Field::MtfsfFM, Field::FrB] }),
]),
("fsubs", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec000028, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("fnmadd", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xfc00003e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("blela+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("lswx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00042a, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("fnmadds.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec00003e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("sync", &[Some(OpcodeInfo { code: 0x7c0004ac, args: &[] })]),
("bc-", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("mfsrin", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000526, args: &[Field::RD, Field::RB] }),
]),
("mtdbatu", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::SprBAT, Field::RS] }),
]),
("mtsrr0", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("bdnzfa+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("ps_res", &[
None,
None,
Some(OpcodeInfo { code: 0x10000030, args: &[Field::FrD, Field::FrB] }),
]),
("bdnzfa", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("lbzux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0000ee, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bsoa-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdnzflrl", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("psq_stu", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xf4000000,
args: &[Field::FrS, Field::PsOffset, Field::RA, Field::PsW, Field::PsI],
}),
]),
("slw.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000030, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("sc", &[Some(OpcodeInfo { code: 0x44000002, args: &[] })]),
("bnslr+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bdzfla+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("mtdbatl", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::SprBAT, Field::RS] }),
]),
("bdnztlrl+", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("slwi", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("xoris", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x6c000000, args: &[Field::RA, Field::RS, Field::Uimm] }),
]),
("bsolr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("fmul", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000032, args: &[Field::FrD, Field::FrA, Field::FrC] }),
]),
("fabs", &[
None,
None,
Some(OpcodeInfo { code: 0xfc000210, args: &[Field::FrD, Field::FrB] }),
]),
("beq-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("dcbz_l", &[
None,
None,
Some(OpcodeInfo { code: 0x100007ec, args: &[Field::RA, Field::RB] }),
]),
("fdivs", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec000024, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("stbx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0001ae, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("bso", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdnzfl+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnztla", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("sthu", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xb4000000, args: &[Field::RS, Field::Offset, Field::RA] }),
]),
("ble", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mffs", &[None, Some(OpcodeInfo { code: 0xfc00048e, args: &[Field::FrD] })]),
("ps_sub", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x10000028, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("bdzfa", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("addme", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d4, args: &[Field::RD, Field::RA] }),
]),
("bnectrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("beq+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("beqlr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("adde.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000114, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("lhzux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00026e, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("cmpwi", &[
None,
None,
Some(OpcodeInfo { code: 0x2c000000, args: &[Field::RA, Field::Simm] }),
Some(OpcodeInfo { code: 0x2c000000, args: &[Field::CrfD, Field::RA, Field::Simm] }),
]),
("eieio", &[Some(OpcodeInfo { code: 0x7c0006ac, args: &[] })]),
("ba", &[None, Some(OpcodeInfo { code: 0x48000000, args: &[Field::LI] })]),
("bns-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("beql+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bdzt+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bdnz-", &[None, Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] })]),
("bdzflrl", &[None, Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BI] })]),
("sthbrx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00072c, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("extlwi.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::ME, Field::SH],
}),
]),
("bgt+", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bnsl", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bl", &[None, Some(OpcodeInfo { code: 0x48000000, args: &[Field::LI] })]),
("bcla+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("fsubs.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xec000028, args: &[Field::FrD, Field::FrA, Field::FrB] }),
]),
("subf.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000050, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bca+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("bdztla+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bnelrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("cmpli", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x28000000,
args: &[Field::CrfD, Field::L, Field::RA, Field::Uimm],
}),
]),
("fctiw", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00001c, args: &[Field::FrD, Field::FrB] }),
]),
("mtibatu", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::SprBAT, Field::RS] }),
]),
("bgtlrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bclr+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::BO, Field::BI, Field::BH] }),
]),
("subfze.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000190, args: &[Field::RD, Field::RA] }),
]),
("lfdx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0004ae, args: &[Field::FrD, Field::RA, Field::RB] }),
]),
("ps_mr", &[
None,
None,
Some(OpcodeInfo { code: 0x10000090, args: &[Field::FrD, Field::FrB] }),
]),
("bdzfa-", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("bnsctrl+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("mfmsr", &[None, Some(OpcodeInfo { code: 0x7c0000a6, args: &[Field::RD] })]),
("bcla-", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("bdnzlr+", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("bdzfl+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("addc", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000014, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bdzlr", &[Some(OpcodeInfo { code: 0x4c000020, args: &[] })]),
("li", &[
None,
None,
Some(OpcodeInfo { code: 0x38000000, args: &[Field::RD, Field::Simm] }),
]),
("bsol-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bnsctrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("beqa", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("mtsrr1", &[None, Some(OpcodeInfo { code: 0x7c0003a6, args: &[Field::RS] })]),
("fnmadds", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec00003e,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bne-", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("bcl+", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BO, Field::BI, Field::BD] }),
]),
("extsh", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000734, args: &[Field::RA, Field::RS] }),
]),
("nand", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0003b8, args: &[Field::RA, Field::RS, Field::RB] }),
]),
("psq_lux", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x1000004c,
args: &[Field::FrD, Field::RA, Field::RB, Field::PsWX, Field::PsIX],
}),
]),
("mftb", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0002e6, args: &[Field::RD, Field::Tbr] }),
]),
("fcmpo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0xfc000040, args: &[Field::CrfD, Field::FrA, Field::FrB] }),
]),
("bgtlrl", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bsoa", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("fmadds.", &[
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xec00003a,
args: &[Field::FrD, Field::FrA, Field::FrC, Field::FrB],
}),
]),
("bgea", &[
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BD] }),
Some(OpcodeInfo { code: 0x40000000, args: &[Field::CrfS, Field::BD] }),
]),
("psq_st", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xf0000000,
args: &[Field::FrS, Field::PsOffset, Field::RA, Field::PsW, Field::PsI],
}),
]),
("addic", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x30000000, args: &[Field::RD, Field::RA, Field::Simm] }),
]),
("mtfsb1", &[None, Some(OpcodeInfo { code: 0xfc00004c, args: &[Field::CrbD] })]),
("rlwnm.", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x5c000000,
args: &[Field::RA, Field::RS, Field::RB, Field::MB, Field::ME],
}),
]),
("mulhw.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000096, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("mfspr", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0002a6, args: &[Field::RD, Field::Spr] }),
]),
("rlwinm.", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0x54000000,
args: &[Field::RA, Field::RS, Field::SH, Field::MB, Field::ME],
}),
]),
("rotrwi.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x54000000, args: &[Field::RA, Field::RS, Field::SH] }),
]),
("blectr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("ps_cmpo1", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x100000c0, args: &[Field::CrfD, Field::FrA, Field::FrB] }),
]),
("stfsx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00052e, args: &[Field::FrS, Field::RA, Field::RB] }),
]),
("neg", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0000d0, args: &[Field::RD, Field::RA] }),
]),
("bdnzfla+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("psq_l", &[
None,
None,
None,
None,
None,
Some(OpcodeInfo {
code: 0xe0000000,
args: &[Field::FrD, Field::PsOffset, Field::RA, Field::PsW, Field::PsI],
}),
]),
("addme.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0001d4, args: &[Field::RD, Field::RA] }),
]),
("bsolrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bdzt", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("fres.", &[
None,
None,
Some(OpcodeInfo { code: 0xec000030, args: &[Field::FrD, Field::FrB] }),
]),
("bdzf+", &[
None,
None,
Some(OpcodeInfo { code: 0x40000000, args: &[Field::BI, Field::BD] }),
]),
("subfo.", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000050, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bltlrl+", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("stfdx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c0005ae, args: &[Field::FrS, Field::RA, Field::RB] }),
]),
("nego.", &[
None,
None,
Some(OpcodeInfo { code: 0x7c0000d0, args: &[Field::RD, Field::RA] }),
]),
("bnslr", &[
Some(OpcodeInfo { code: 0x4c000020, args: &[] }),
Some(OpcodeInfo { code: 0x4c000020, args: &[Field::CrfS] }),
]),
("bsoctrl", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("mtfsfi.", &[
None,
None,
Some(OpcodeInfo { code: 0xfc00010c, args: &[Field::CrfD, Field::MtfsfIMM] }),
]),
("sthux", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c00036e, args: &[Field::RS, Field::RA, Field::RB] }),
]),
("lwarx", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000028, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("bltctr+", &[
Some(OpcodeInfo { code: 0x4c000420, args: &[] }),
Some(OpcodeInfo { code: 0x4c000420, args: &[Field::CrfS] }),
]),
("divwuo", &[
None,
None,
None,
Some(OpcodeInfo { code: 0x7c000396, args: &[Field::RD, Field::RA, Field::RB] }),
]),
("subfzeo", &[
None,
None,
Some(OpcodeInfo { code: 0x7c000190, args: &[Field::RD, Field::RA] }),
]),
],
};
fn opcode_from_str(str: &str) -> Option<&'static [Option<OpcodeInfo>]> {
OPCODES.get(str).map(|x| *x)
}