/* * $Source$ * $State$ */ /* Integer registers */ {0, GPR, 0, "r0"}, {0, GPR, 1, "r1"}, {0, GPR, 1, "sp"}, {0, GPR, 2, "r2"}, {0, GPR, 2, "fp"}, {0, GPR, 3, "r3"}, {0, GPR, 4, "r4"}, {0, GPR, 5, "r5"}, {0, GPR, 6, "r6"}, {0, GPR, 7, "r7"}, {0, GPR, 8, "r8"}, {0, GPR, 9, "r9"}, {0, GPR, 10, "r10"}, {0, GPR, 11, "r11"}, {0, GPR, 12, "r12"}, {0, GPR, 13, "r13"}, {0, GPR, 14, "r14"}, {0, GPR, 15, "r15"}, {0, GPR, 16, "r16"}, {0, GPR, 17, "r17"}, {0, GPR, 18, "r18"}, {0, GPR, 19, "r19"}, {0, GPR, 20, "r20"}, {0, GPR, 21, "r21"}, {0, GPR, 22, "r22"}, {0, GPR, 23, "r23"}, {0, GPR, 24, "r24"}, {0, GPR, 25, "r25"}, {0, GPR, 26, "r26"}, {0, GPR, 27, "r27"}, {0, GPR, 28, "r28"}, {0, GPR, 29, "r29"}, {0, GPR, 30, "r30"}, {0, GPR, 31, "r31"}, /* Floating-point registers */ {0, FPR, 0, "f0"}, {0, FPR, 1, "f1"}, {0, FPR, 2, "f2"}, {0, FPR, 3, "f3"}, {0, FPR, 4, "f4"}, {0, FPR, 5, "f5"}, {0, FPR, 6, "f6"}, {0, FPR, 7, "f7"}, {0, FPR, 8, "f8"}, {0, FPR, 9, "f9"}, {0, FPR, 10, "f10"}, {0, FPR, 11, "f11"}, {0, FPR, 12, "f12"}, {0, FPR, 13, "f13"}, {0, FPR, 14, "f14"}, {0, FPR, 15, "f15"}, {0, FPR, 16, "f16"}, {0, FPR, 17, "f17"}, {0, FPR, 18, "f18"}, {0, FPR, 19, "f19"}, {0, FPR, 20, "f20"}, {0, FPR, 21, "f21"}, {0, FPR, 22, "f22"}, {0, FPR, 23, "f23"}, {0, FPR, 24, "f24"}, {0, FPR, 25, "f25"}, {0, FPR, 26, "f26"}, {0, FPR, 27, "f27"}, {0, FPR, 28, "f28"}, {0, FPR, 29, "f29"}, {0, FPR, 30, "f30"}, {0, FPR, 31, "f31"}, /* Special registers */ {0, SPR, 32, "xer"}, {0, SPR, 256, "lr"}, {0, SPR, 288, "ctr"}, /* Condition registers */ {0, CR, 0, "cr0"}, {0, CR, 1, "cr1"}, {0, CR, 2, "cr2"}, {0, CR, 3, "cr3"}, {0, CR, 4, "cr4"}, {0, CR, 5, "cr5"}, {0, CR, 6, "cr6"}, {0, CR, 7, "cr7"}, /* Condition code flag */ {0, C, 0, "."}, /* Special instructions */ {0, OP_LI32, 0, "li32"}, {0, OP_HI, 0, "hi16"}, {0, OP_HA, 0, "ha16"}, {0, OP_LO, 0, "lo16"}, /* The next page numbers are from PowerPC User Instruction Set * Architecture, Book I, Version 2.01. */ /* Branch processor instructions (page 20) */ {0, OP_LIL, 18<<26 | 0<<1 | 0<<0, "b"}, {0, OP_LIA, 18<<26 | 1<<1 | 0<<0, "ba"}, {0, OP_LIL, 18<<26 | 0<<1 | 1<<0, "bl"}, {0, OP_LIA, 18<<26 | 1<<1 | 1<<0, "bla"}, {0, OP_BO_BI_BDL, 16<<26 | 0<<1 | 0<<0, "bc"}, {0, OP_BO_BI_BDA, 16<<26 | 1<<1 | 0<<0, "bca"}, {0, OP_BO_BI_BDL, 16<<26 | 0<<1 | 1<<0, "bcl"}, {0, OP_BO_BI_BDA, 16<<26 | 1<<1 | 1<<0, "bcla"}, {0, OP_BO_BI_BH, 19<<26 | 16<<1 | 0<<0, "bclr"}, {0, OP_BO_BI_BH, 19<<26 | 16<<1 | 1<<0, "bclrl"}, {0, OP_BO_BI_BH, 19<<26 | 528<<1 | 0<<0, "bcctr"}, {0, OP_BO_BI_BH, 19<<26 | 528<<1 | 1<<0, "bcctrl"}, {0, OP_LEV, 17<<26 | 1<<1, "sc"}, {0, OP_BT_BA_BB, 19<<26 | 257<<1, "crand"}, {0, OP_BT_BA_BB, 19<<26 | 449<<1, "cror"}, {0, OP_BT_BA_BB, 19<<26 | 193<<1, "crxor"}, {0, OP_BT_BA_BB, 19<<26 | 225<<1, "crnand"}, {0, OP_BT_BA_BB, 19<<26 | 33<<1, "crnor"}, {0, OP_BT_BA_BB, 19<<26 | 289<<1, "creqv"}, {0, OP_BT_BA_BB, 19<<26 | 129<<1, "crandc"}, {0, OP_BT_BA_BB, 19<<26 | 417<<1, "crorc"}, {0, OP_BF_BFA, 19<<26 | 0<<1, "mcrf"}, /* extended mnemonics for bc, bcctr, bclr (page 144) */ {0, OP_BH, 19<<26 | 20<<21 | 528<<1 | 0<<0, "bctr"}, {0, OP_BH, 19<<26 | 20<<21 | 528<<1 | 1<<0, "bctrl"}, {0, OP_BDL, 16<<26 | 16<<21 | 0<<1 | 0<<0, "bdnz"}, {0, OP_BDA, 16<<26 | 16<<21 | 1<<1 | 0<<0, "bdnza"}, {0, OP_BH, 19<<26 | 16<<21 | 16<<1 | 0<<0, "bdnzlr"}, {0, OP_BDL, 16<<26 | 16<<21 | 0<<1 | 1<<0, "bdnzl"}, {0, OP_BDA, 16<<26 | 16<<21 | 1<<1 | 1<<0, "bdnzla"}, {0, OP_BH, 19<<26 | 16<<21 | 16<<1 | 1<<0, "bdnzlrl"}, {0, OP_BI_BDL, 16<<26 | 0<<21 | 0<<1 | 0<<0, "bdnzf"}, {0, OP_BI_BDA, 16<<26 | 0<<21 | 1<<1 | 0<<0, "bdnzfa"}, {0, OP_BI_BH, 19<<26 | 0<<21 | 16<<1 | 0<<0, "bdnzflr"}, {0, OP_BI_BDL, 16<<26 | 0<<21 | 0<<1 | 1<<0, "bdnzfl"}, {0, OP_BI_BDA, 16<<26 | 0<<21 | 1<<1 | 1<<0, "bdnzfla"}, {0, OP_BI_BH, 19<<26 | 0<<21 | 16<<1 | 1<<0, "bdnzflrl"}, {0, OP_BI_BDL, 16<<26 | 8<<21 | 0<<1 | 0<<0, "bdnzt"}, {0, OP_BI_BDA, 16<<26 | 8<<21 | 1<<1 | 0<<0, "bdnzta"}, {0, OP_BI_BH, 19<<26 | 8<<21 | 16<<1 | 0<<0, "bdnztlr"}, {0, OP_BI_BDL, 16<<26 | 8<<21 | 0<<1 | 1<<0, "bdnztl"}, {0, OP_BI_BDA, 16<<26 | 8<<21 | 1<<1 | 1<<0, "bdnztla"}, {0, OP_BI_BH, 19<<26 | 8<<21 | 16<<1 | 1<<0, "bdnztlrl"}, {0, OP_BDL, 16<<26 | 18<<21 | 0<<1 | 0<<0, "bdz"}, {0, OP_BDA, 16<<26 | 18<<21 | 1<<1 | 0<<0, "bdza"}, {0, OP_BH, 19<<26 | 18<<21 | 16<<1 | 0<<0, "bdzlr"}, {0, OP_BDL, 16<<26 | 18<<21 | 0<<1 | 1<<0, "bdzl"}, {0, OP_BDA, 16<<26 | 18<<21 | 1<<1 | 1<<0, "bdzla"}, {0, OP_BH, 19<<26 | 18<<21 | 16<<1 | 1<<0, "bdzlrl"}, {0, OP_BI_BDL, 16<<26 | 2<<21 | 0<<1 | 0<<0, "bdzf"}, {0, OP_BI_BDA, 16<<26 | 2<<21 | 1<<1 | 0<<0, "bdzfa"}, {0, OP_BI_BH, 19<<26 | 2<<21 | 16<<1 | 0<<0, "bdzflr"}, {0, OP_BI_BDL, 16<<26 | 2<<21 | 0<<1 | 1<<0, "bdzfl"}, {0, OP_BI_BDA, 16<<26 | 2<<21 | 1<<1 | 1<<0, "bdzfla"}, {0, OP_BI_BH, 19<<26 | 2<<21 | 16<<1 | 1<<0, "bdzflrl"}, {0, OP_BI_BDL, 16<<26 | 10<<21 | 0<<1 | 0<<0, "bdzt"}, {0, OP_BI_BDA, 16<<26 | 10<<21 | 1<<1 | 0<<0, "bdzta"}, {0, OP_BI_BH, 19<<26 | 10<<21 | 16<<1 | 0<<0, "bdztlr"}, {0, OP_BI_BDL, 16<<26 | 10<<21 | 0<<1 | 1<<0, "bdztl"}, {0, OP_BI_BDA, 16<<26 | 10<<21 | 1<<1 | 1<<0, "bdztla"}, {0, OP_BI_BH, 19<<26 | 10<<21 | 16<<1 | 1<<0, "bdztlrl"}, {0, OP_BI_BDL, 16<<26 | 4<<21 | 0<<1 | 0<<0, "bf"}, {0, OP_BI_BDA, 16<<26 | 4<<21 | 1<<1 | 0<<0, "bfa"}, {0, OP_BI_BH, 19<<26 | 4<<21 | 528<<1 | 0<<0, "bfctr"}, {0, OP_BI_BH, 19<<26 | 4<<21 | 528<<1 | 1<<0, "bfctrl"}, {0, OP_BI_BDL, 16<<26 | 4<<21 | 0<<1 | 1<<0, "bfl"}, {0, OP_BI_BDA, 16<<26 | 4<<21 | 0<<1 | 1<<0, "bfla"}, {0, OP_BI_BH, 19<<26 | 4<<21 | 16<<1 | 0<<0, "bflr"}, {0, OP_BI_BH, 19<<26 | 4<<21 | 16<<1 | 1<<0, "bflrl"}, {0, OP_BH, 19<<26 | 20<<21 | 16<<1 | 0<<0, "blr"}, {0, OP_BH, 19<<26 | 20<<21 | 16<<1 | 1<<0, "blrl"}, {0, OP_BI_BDL, 16<<26 | 12<<21 | 0<<1 | 0<<0, "bt"}, {0, OP_BI_BDA, 16<<26 | 12<<21 | 1<<1 | 0<<0, "bta"}, {0, OP_BI_BH, 19<<26 | 12<<21 | 528<<1 | 0<<0, "btctr"}, {0, OP_BI_BH, 19<<26 | 12<<21 | 528<<1 | 1<<0, "btctrl"}, {0, OP_BI_BDL, 16<<26 | 12<<21 | 0<<1 | 1<<0, "btl"}, {0, OP_BI_BDA, 16<<26 | 12<<21 | 0<<1 | 1<<0, "btla"}, {0, OP_BI_BH, 19<<26 | 12<<21 | 16<<1 | 0<<0, "btlr"}, {0, OP_BI_BH, 19<<26 | 12<<21 | 16<<1 | 1<<0, "btlrl"}, /* extended m with condition in BI (page 146) */ {0, OP_BICR_BDL, 16<<26 | 12<<21 | 2<<16 | 0<<1 | 0<<0, "beq"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 2<<16 | 1<<1 | 0<<0, "beqa"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 2<<16 | 528<<1 | 0<<0, "beqctr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 2<<16 | 528<<1 | 1<<0, "beqctrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 2<<16 | 0<<1 | 1<<0, "beql"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 2<<16 | 1<<1 | 1<<0, "beqla"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 2<<16 | 16<<1 | 0<<0, "beqlr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 2<<16 | 16<<1 | 1<<0, "beqlrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 0<<16 | 0<<1 | 0<<0, "bge"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 0<<16 | 1<<1 | 0<<0, "bgea"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 528<<1 | 0<<0, "bgectr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 528<<1 | 1<<0, "bgectrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 0<<16 | 0<<1 | 1<<0, "bgel"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 0<<16 | 1<<1 | 1<<0, "bgela"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 16<<1 | 0<<0, "bgelr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 16<<1 | 1<<0, "bgelrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 1<<16 | 0<<1 | 0<<0, "bgt"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 1<<16 | 1<<1 | 0<<0, "bgta"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 1<<16 | 528<<1 | 0<<0, "bgtctr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 1<<16 | 528<<1 | 1<<0, "bgtctrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 1<<16 | 0<<1 | 1<<0, "bgtl"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 1<<16 | 1<<1 | 1<<0, "bgtla"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 1<<16 | 16<<1 | 0<<0, "bgtlr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 1<<16 | 16<<1 | 1<<0, "bgtlrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 1<<16 | 0<<1 | 0<<0, "ble"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 1<<16 | 1<<1 | 0<<0, "blea"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 528<<1 | 0<<0, "blectr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 528<<1 | 1<<0, "blectrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 1<<16 | 0<<1 | 1<<0, "blel"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 1<<16 | 1<<1 | 1<<0, "blela"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 16<<1 | 0<<0, "blelr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 16<<1 | 1<<0, "blelrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 0<<16 | 0<<1 | 0<<0, "blt"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 0<<16 | 1<<1 | 0<<0, "blta"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 0<<16 | 528<<1 | 0<<0, "bltctr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 0<<16 | 528<<1 | 1<<0, "bltctrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 0<<16 | 0<<1 | 1<<0, "bltl"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 0<<16 | 1<<1 | 1<<0, "bltla"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 0<<16 | 16<<1 | 0<<0, "bltlr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 0<<16 | 16<<1 | 1<<0, "bltlrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 2<<16 | 0<<1 | 0<<0, "bne"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 2<<16 | 1<<1 | 0<<0, "bnea"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 2<<16 | 528<<1 | 0<<0, "bnectr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 2<<16 | 528<<1 | 1<<0, "bnectrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 2<<16 | 0<<1 | 1<<0, "bnel"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 2<<16 | 1<<1 | 1<<0, "bnela"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 2<<16 | 16<<1 | 0<<0, "bnelr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 2<<16 | 16<<1 | 1<<0, "bnelrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 1<<16 | 0<<1 | 0<<0, "bng"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 1<<16 | 1<<1 | 0<<0, "bnga"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 528<<1 | 0<<0, "bngctr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 528<<1 | 1<<0, "bngctrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 1<<16 | 0<<1 | 1<<0, "bngl"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 1<<16 | 1<<1 | 1<<0, "bngla"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 16<<1 | 0<<0, "bnglr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 1<<16 | 16<<1 | 1<<0, "bnglrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 0<<16 | 0<<1 | 0<<0, "bnl"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 0<<16 | 1<<1 | 0<<0, "bnla"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 528<<1 | 0<<0, "bnlctr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 528<<1 | 1<<0, "bnlctrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 0<<16 | 0<<1 | 1<<0, "bnll"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 0<<16 | 1<<1 | 1<<0, "bnlla"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 16<<1 | 0<<0, "bnllr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 0<<16 | 16<<1 | 1<<0, "bnllrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 3<<16 | 0<<1 | 0<<0, "bns"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 3<<16 | 1<<1 | 0<<0, "bnsa"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 528<<1 | 0<<0, "bnsctr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 528<<1 | 1<<0, "bnsctrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 3<<16 | 0<<1 | 1<<0, "bnsl"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 3<<16 | 1<<1 | 1<<0, "bnsla"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 16<<1 | 0<<0, "bnslr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 16<<1 | 1<<0, "bnslrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 3<<16 | 0<<1 | 0<<0, "bnu"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 3<<16 | 1<<1 | 0<<0, "bnua"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 528<<1 | 0<<0, "bnuctr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 528<<1 | 1<<0, "bnuctrl"}, {0, OP_BICR_BDL, 16<<26 | 4<<21 | 3<<16 | 0<<1 | 1<<0, "bnul"}, {0, OP_BICR_BDA, 16<<26 | 4<<21 | 3<<16 | 1<<1 | 1<<0, "bnula"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 16<<1 | 0<<0, "bnulr"}, {0, OP_BICR_BH, 19<<26 | 4<<21 | 3<<16 | 16<<1 | 1<<0, "bnulrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 3<<16 | 0<<1 | 0<<0, "bso"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 3<<16 | 1<<1 | 0<<0, "bsoa"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 528<<1 | 0<<0, "bsoctr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 528<<1 | 1<<0, "bsoctrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 3<<16 | 0<<1 | 1<<0, "bsol"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 3<<16 | 1<<1 | 1<<0, "bsola"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 16<<1 | 0<<0, "bsolr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 16<<1 | 1<<0, "bsolrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 3<<16 | 0<<1 | 0<<0, "bun"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 3<<16 | 1<<1 | 0<<0, "buna"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 528<<1 | 0<<0, "bunctr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 528<<1 | 1<<0, "bunctrl"}, {0, OP_BICR_BDL, 16<<26 | 12<<21 | 3<<16 | 0<<1 | 1<<0, "bunl"}, {0, OP_BICR_BDA, 16<<26 | 12<<21 | 3<<16 | 1<<1 | 1<<0, "bunla"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 16<<1 | 0<<0, "bunlr"}, {0, OP_BICR_BH, 19<<26 | 12<<21 | 3<<16 | 16<<1 | 1<<0, "bunlrl"}, /* extended m for cr logic (page 147) */ {0, OP_BT_BT_BT, 19<<26 | 289<<1, "crset"}, {0, OP_BT_BT_BT, 19<<26 | 193<<1, "crclr"}, {0, OP_BT_BA_BA, 19<<26 | 449<<1, "crmove"}, {0, OP_BT_BA_BA, 19<<26 | 33<<1, "crnot"}, /* Fixed point instructions (page 29) */ {0, OP_RT_RA_D, 34<<26, "lbz"}, {0, OP_RT_RA_RB, 31<<26 | 87<<1, "lbzx"}, {0, OP_RT_RA_D, 35<<26, "lbzu"}, {0, OP_RT_RA_RB, 31<<26 | 119<<1, "lbzux"}, {0, OP_RT_RA_D, 40<<26, "lhz"}, {0, OP_RT_RA_RB, 31<<26 | 279<<1, "lhzx"}, {0, OP_RT_RA_D, 41<<26, "lhzu"}, {0, OP_RT_RA_RB, 31<<26 | 311<<1, "lhzux"}, {0, OP_RT_RA_D, 42<<26, "lha"}, {0, OP_RT_RA_RB, 31<<26 | 343<<1, "lhax"}, {0, OP_RT_RA_D, 43<<26, "lhau"}, {0, OP_RT_RA_RB, 31<<26 | 375<<1, "lhaux"}, {0, OP_RT_RA_D, 32<<26, "lwz"}, {0, OP_RT_RA_RB, 31<<26 | 23<<1, "lwzx"}, {0, OP_RT_RA_D, 33<<26, "lwzu"}, {0, OP_RT_RA_RB, 31<<26 | 55<<1, "lwzux"}, {0, OP_RT_RA_DS, 58<<26 | 2<<0, "lwa"}, {0, OP_RT_RA_RB, 31<<26 | 341<<1, "lwax"}, {0, OP_RT_RA_RB, 31<<26 | 363<<1, "lwaux"}, {0, OP_RT_RA_DS, 58<<26, "ld"}, {0, OP_RT_RA_RB, 31<<26 | 21<<1, "ldx"}, {0, OP_RT_RA_DS, 58<<26 | 1<<0, "ldu"}, {0, OP_RT_RA_RB, 31<<26 | 53<<1, "ldux"}, {0, OP_RS_RA_D, 38<<26, "stb"}, {0, OP_RS_RA_RB, 31<<26 | 215<<1, "stbx"}, {0, OP_RS_RA_D, 39<<26, "stbu"}, {0, OP_RS_RA_RB, 31<<26 | 247<<1, "stbux"}, {0, OP_RS_RA_D, 44<<26, "sth"}, {0, OP_RS_RA_RB, 31<<26 | 407<<1, "sthx"}, {0, OP_RS_RA_D, 45<<26, "sthu"}, {0, OP_RS_RA_RB, 31<<26 | 439<<1, "sthux"}, {0, OP_RS_RA_D, 36<<26, "stw"}, {0, OP_RS_RA_RB, 31<<26 | 151<<1, "stwx"}, {0, OP_RS_RA_D, 37<<26, "stwu"}, {0, OP_RS_RA_RB, 31<<26 | 183<<1, "stwux"}, {0, OP_RS_RA_DS, 62<<26, "std"}, {0, OP_RS_RA_RB, 31<<26 | 149<<1, "stdx"}, {0, OP_RS_RA_DS, 62<<26 | 1<<0, "stdu"}, {0, OP_RS_RA_RB, 31<<26 | 181<<1, "stdux"}, /* page 42 */ {0, OP_RT_RA_RB, 31<<26 | 790<<1, "lhbrx"}, {0, OP_RT_RA_RB, 31<<26 | 534<<1, "lwbrx"}, {0, OP_RS_RA_RB, 31<<26 | 918<<1, "sthbrx"}, {0, OP_RS_RA_RB, 31<<26 | 662<<1, "stwbrx"}, /* page 44 */ {0, OP_RT_RA_D, 46<<26, "lmw"}, {0, OP_RS_RA_D, 47<<26, "stmw"}, /* page 45 */ {0, OP_RT_RA_NB, 31<<26 | 597<<1, "lswi"}, {0, OP_RT_RA_RB, 31<<26 | 533<<1, "lswx"}, {0, OP_RS_RA_NB, 31<<26 | 725<<1, "stswi"}, {0, OP_RS_RA_RB, 31<<26 | 661<<1, "stswx"}, /* page 49 */ {0, OP_RT_RA_SI, 14<<26, "addi"}, {0, OP_RT_RA_SI, 15<<26, "addis"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 266<<1, "add"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 266<<1, "addo"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 40<<1, "subf"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 40<<1, "subfo"}, {0, OP_RT_RA_SI_addic, 12<<26, "addic"}, /* special case C */ {0, OP_RT_RA_SI, 8<<26, "subfic"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 10<<1, "addc"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 10<<1, "addco"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 8<<1, "subfc"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 8<<1, "subfco"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 138<<1, "adde"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 138<<1, "addeo"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 136<<1, "subfe"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 136<<1, "subfeo"}, {0, OP_RT_RA_C, 31<<26 | 0<<10 | 234<<1, "addme"}, {0, OP_RT_RA_C, 31<<26 | 1<<10 | 234<<1, "addmeo"}, {0, OP_RT_RA_C, 31<<26 | 0<<10 | 232<<1, "subfme"}, {0, OP_RT_RA_C, 31<<26 | 1<<10 | 232<<1, "subfmeo"}, {0, OP_RT_RA_C, 31<<26 | 0<<10 | 202<<1, "addze"}, {0, OP_RT_RA_C, 31<<26 | 1<<10 | 202<<1, "addzeo"}, {0, OP_RT_RA_C, 31<<26 | 0<<10 | 200<<1, "subfze"}, {0, OP_RT_RA_C, 31<<26 | 1<<10 | 200<<1, "subfzeo"}, {0, OP_RT_RA_C, 31<<26 | 0<<10 | 104<<1, "neg"}, {0, OP_RT_RA_C, 31<<26 | 1<<10 | 104<<1, "nego"}, /* extended m for addition (pages 153, 154) */ {0, OP_RT_RA_D, 14<<26, "la"}, {0, OP_RT_SI, 14<<26 | 0<<16, "li"}, {0, OP_RT_SI, 15<<26 | 0<<16, "lis"}, /* extended m for subtraction (pages 147, 148) */ {0, OP_RT_RB_RA_C, 31<<26 | 0<<10 | 40<<1, "sub"}, {0, OP_RT_RB_RA_C, 31<<26 | 1<<10 | 40<<1, "subo"}, {0, OP_RT_RB_RA_C, 31<<26 | 0<<10 | 8<<1, "subc"}, {0, OP_RT_RB_RA_C, 31<<26 | 0<<10 | 8<<1, "subco"}, {0, OP_RT_RA_SI_subi, 14<<26, "subi"}, {0, OP_RT_RA_SI_subi, 15<<26, "subis"}, {0, OP_RT_RA_SI_subic, 12<<26, "subic"}, /* page 54 */ {0, OP_RT_RA_SI, 7<<26, "mulli"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 233<<1, "mulld"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 233<<1, "mulldo"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 235<<1, "mullw"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 235<<1, "mullwo"}, {0, OP_RT_RA_RB_C, 31<<26 | 73<<1, "mulhd"}, {0, OP_RT_RA_RB_C, 31<<26 | 75<<1, "mulhw"}, {0, OP_RT_RA_RB_C, 31<<26 | 9<<1, "mulhdu"}, {0, OP_RT_RA_RB_C, 31<<26 | 11<<1, "mulhwu"}, /* page 56 */ {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 489<<1, "divd"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 489<<1, "divdo"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 491<<1, "divw"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 491<<1, "divwo"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 457<<1, "divdu"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 457<<1, "divduo"}, {0, OP_RT_RA_RB_C, 31<<26 | 0<<10 | 459<<1, "divwu"}, {0, OP_RT_RA_RB_C, 31<<26 | 1<<10 | 459<<1, "divwuo"}, /* page 58 */ {0, OP_BF_L_RA_SI, 11<<26, "cmpi"}, {0, OP_BF_L_RA_RB, 31<<26 | 0<<1, "cmp"}, {0, OP_BF_L_RA_UI, 10<<26, "cmpli"}, {0, OP_BF_L_RA_RB, 31<<26 | 32<<1, "cmpl"}, /* extended m for comparison (page 149) */ {0, OP_BF_RA_SI, 11<<26 | 1<<21, "cmpdi"}, {0, OP_BF_RA_RB, 31<<26 | 1<<21 | 0<<1, "cmpd"}, {0, OP_BF_RA_UI, 10<<26 | 1<<21, "cmpldi"}, {0, OP_BF_RA_RB, 31<<26 | 1<<21 | 32<<1, "cmpld"}, {0, OP_BF_RA_SI, 11<<26 | 0<<21, "cmpwi"}, {0, OP_BF_RA_RB, 31<<26 | 0<<21 | 0<<1, "cmpw"}, {0, OP_BF_RA_UI, 10<<26 | 0<<21, "cmplwi"}, {0, OP_BF_RA_RB, 31<<26 | 0<<21 | 32<<1, "cmplw"}, /* page 60 */ {0, OP_TO_RA_SI, 2<<26, "tdi"}, {0, OP_TO_RA_SI, 3<<26, "twi"}, {0, OP_TO_RA_RB, 31<<26 | 68<<1, "td"}, {0, OP_TO_RA_RB, 31<<26 | 4<<1, "tw"}, /* extended m for traps (page 150) */ {0, OP_TOX_RA_RB, 31<<26 | 4<<21 | 68<<1, "tdeq"}, {0, OP_TOX_RA_SI, 2<<26 | 4<<21, "tdeqi"}, {0, OP_TOX_RA_RB, 31<<26 | 12<<21 | 68<<1, "tdge"}, {0, OP_TOX_RA_SI, 2<<26 | 12<<21, "tdgei"}, {0, OP_TOX_RA_RB, 31<<26 | 8<<21 | 68<<1, "tdgt"}, {0, OP_TOX_RA_SI, 2<<26 | 8<<21, "tdgti"}, {0, OP_TOX_RA_RB, 31<<26 | 20<<21 | 68<<1, "tdle"}, {0, OP_TOX_RA_SI, 2<<26 | 20<<21, "tdlei"}, {0, OP_TOX_RA_RB, 31<<26 | 5<<21 | 68<<1, "tdlge"}, {0, OP_TOX_RA_SI, 2<<26 | 5<<21, "tdlgei"}, {0, OP_TOX_RA_RB, 31<<26 | 1<<21 | 68<<1, "tdlgt"}, {0, OP_TOX_RA_SI, 2<<26 | 1<<21, "tdlgti"}, {0, OP_TOX_RA_RB, 31<<26 | 6<<21 | 68<<1, "tdlle"}, {0, OP_TOX_RA_SI, 2<<26 | 6<<21, "tdllei"}, {0, OP_TOX_RA_RB, 31<<26 | 2<<21 | 68<<1, "tdllt"}, {0, OP_TOX_RA_SI, 2<<26 | 2<<21, "tdllti"}, {0, OP_TOX_RA_RB, 31<<26 | 6<<21 | 68<<1, "tdlng"}, {0, OP_TOX_RA_SI, 2<<26 | 6<<21, "tdlngi"}, {0, OP_TOX_RA_RB, 31<<26 | 5<<21 | 68<<1, "tdlnl"}, {0, OP_TOX_RA_SI, 2<<26 | 5<<21, "tdlnli"}, {0, OP_TOX_RA_RB, 31<<26 | 16<<21 | 68<<1, "tdlt"}, {0, OP_TOX_RA_SI, 2<<26 | 16<<21, "tdlti"}, {0, OP_TOX_RA_RB, 31<<26 | 24<<21 | 68<<1, "tdne"}, {0, OP_TOX_RA_SI, 2<<26 | 24<<21, "tdnei"}, {0, OP_TOX_RA_RB, 31<<26 | 20<<21 | 68<<1, "tdng"}, {0, OP_TOX_RA_SI, 2<<26 | 20<<21, "tdngi"}, {0, OP_TOX_RA_RB, 31<<26 | 12<<21 | 68<<1, "tdnl"}, {0, OP_TOX_RA_SI, 2<<26 | 12<<21, "tdnli"}, {0, OP_TOX_RA_RB, 31<<26 | 31<<21 | 68<<1, "tdu"}, {0, OP_TOX_RA_SI, 2<<26 | 31<<21, "tdui"}, {0, OP, 31<<26 | 31<<21 | 4<<1, "trap"}, {0, OP_TOX_RA_RB, 31<<26 | 4<<21 | 4<<1, "tweq"}, {0, OP_TOX_RA_SI, 3<<26 | 4<<21, "tweqi"}, {0, OP_TOX_RA_RB, 31<<26 | 12<<21 | 4<<1, "twge"}, {0, OP_TOX_RA_SI, 3<<26 | 12<<21, "twgei"}, {0, OP_TOX_RA_RB, 31<<26 | 8<<21 | 4<<1, "twgt"}, {0, OP_TOX_RA_SI, 3<<26 | 8<<21, "twgti"}, {0, OP_TOX_RA_RB, 31<<26 | 20<<21 | 4<<1, "twle"}, {0, OP_TOX_RA_SI, 3<<26 | 20<<21, "twlei"}, {0, OP_TOX_RA_RB, 31<<26 | 5<<21 | 4<<1, "twlge"}, {0, OP_TOX_RA_SI, 3<<26 | 5<<21, "twlgei"}, {0, OP_TOX_RA_RB, 31<<26 | 1<<21 | 4<<1, "twlgt"}, {0, OP_TOX_RA_SI, 3<<26 | 1<<21, "twlgti"}, {0, OP_TOX_RA_RB, 31<<26 | 6<<21 | 4<<1, "twlle"}, {0, OP_TOX_RA_SI, 3<<26 | 6<<21, "twllei"}, {0, OP_TOX_RA_RB, 31<<26 | 2<<21 | 4<<1, "twllt"}, {0, OP_TOX_RA_SI, 3<<26 | 2<<21, "twllti"}, {0, OP_TOX_RA_RB, 31<<26 | 6<<21 | 4<<1, "twlng"}, {0, OP_TOX_RA_SI, 3<<26 | 6<<21, "twlngi"}, {0, OP_TOX_RA_RB, 31<<26 | 5<<21 | 4<<1, "twlnl"}, {0, OP_TOX_RA_SI, 3<<26 | 5<<21, "twlnli"}, {0, OP_TOX_RA_RB, 31<<26 | 16<<21 | 4<<1, "twlt"}, {0, OP_TOX_RA_SI, 3<<26 | 16<<21, "twlti"}, {0, OP_TOX_RA_RB, 31<<26 | 24<<21 | 4<<1, "twne"}, {0, OP_TOX_RA_SI, 3<<26 | 24<<21, "twnei"}, {0, OP_TOX_RA_RB, 31<<26 | 20<<21 | 4<<1, "twng"}, {0, OP_TOX_RA_SI, 3<<26 | 20<<21, "twngi"}, {0, OP_TOX_RA_RB, 31<<26 | 12<<21 | 4<<1, "twnl"}, {0, OP_TOX_RA_SI, 3<<26 | 12<<21, "twnli"}, {0, OP_TOX_RA_RB, 31<<26 | 31<<21 | 4<<1, "twu"}, {0, OP_TOX_RA_SI, 3<<26 | 31<<21, "twui"}, /* page 62 */ {0, OP_RA_RS_UI_CC, 28<<26, "andi"}, /* C compulsory */ {0, OP_RA_RS_UI_CC, 29<<26, "andis"}, /* C compulsory */ {0, OP_RA_RS_UI, 24<<26, "ori"}, {0, OP_RA_RS_UI, 25<<26, "oris"}, {0, OP_RA_RS_UI, 26<<26, "xori"}, {0, OP_RA_RS_UI, 27<<26, "xoris"}, {0, OP_RA_RS_RB_C, 31<<26 | 28<<1, "and"}, {0, OP_RA_RS_RB_C, 31<<26 | 444<<1, "or"}, {0, OP_RA_RS_RB_C, 31<<26 | 316<<1, "xor"}, {0, OP_RA_RS_RB_C, 31<<26 | 476<<1, "nand"}, {0, OP_RA_RS_RB_C, 31<<26 | 124<<1, "nor"}, {0, OP_RA_RS_RB_C, 31<<26 | 284<<1, "eqv"}, {0, OP_RA_RS_RB_C, 31<<26 | 60<<1, "andc"}, {0, OP_RA_RS_RB_C, 31<<26 | 412<<1, "orc"}, {0, OP_RA_RS_C, 31<<26 | 954<<1, "extsb"}, {0, OP_RA_RS_C, 31<<26 | 922<<1, "extsh"}, {0, OP_RA_RS_C, 31<<26 | 986<<1, "extsw"}, {0, OP_RA_RS_C, 31<<26 | 58<<1, "cntlzd"}, {0, OP_RA_RS_C, 31<<26 | 26<<1, "cntlzw"}, /* extended m using logic (pages 153, 154) */ {0, OP_RA_RS_RA_C, 31<<26 | 444<<1, "mr"}, {0, OP, 24<<26, "nop"}, {0, OP_RA_RS_RA_C, 31<<26 | 124<<1, "not"}, /* page 69 */ {0, OP_RA_RS_SH6_MB6_C, 30<<26 | 0<<2, "rldicl"}, {0, OP_RA_RS_SH6_MB6_C, 30<<26 | 1<<2, "rldicr"}, {0, OP_RA_RS_SH6_MB6_C, 30<<26 | 2<<2, "rldic"}, {0, OP_RA_RS_SH5_MB5_ME5_C, 21<<26, "rlwinm"}, {0, OP_RA_RS_RB_MB6_C, 30<<26 | 8<<1, "rldcl"}, {0, OP_RA_RS_RB_MB6_C, 30<<26 | 9<<1, "rldcr"}, {0, OP_RA_RS_RB_MB5_ME5_C, 23<<26, "rlwnm"}, {0, OP_RA_RS_SH6_MB6_C, 30<<26 | 3<<2, "rldimi"}, {0, OP_RA_RS_SH5_MB5_ME5_C, 20<<26, "rlwimi"}, /* extended m for doubleword rotation (page 151) */ {0, OP_clrlsldi, 30<<26 | 2<<2, "clrlsldi"}, {0, OP_clrldi, 30<<26 | 0<<2, "clrldi"}, {0, OP_clrrdi, 30<<26 | 1<<2, "clrrdi"}, {0, OP_extldi, 30<<26 | 0<<2, "extldi"}, {0, OP_extrdi, 30<<26 | 1<<2, "extrdi"}, {0, OP_insrdi, 30<<26 | 3<<2, "insrdi"}, {0, OP_RA_RS_RB_C, 30<<26 | MB6(0) | 8<<1, "rotld"}, {0, OP_RA_RS_SH6_C, 30<<26 | MB6(0) | 0<<2, "rotldi"}, {0, OP_rotrdi, 30<<26 | 0<<2, "rotrdi"}, {0, OP_sldi, 30<<26 | 1<<2, "sldi"}, {0, OP_srdi, 30<<26 | 0<<2, "srdi"}, /* extended m for word rotation (page 152) */ {0, OP_clrlslwi, 21<<26, "clrlslwi"}, {0, OP_clrlwi, 21<<26, "clrlwi"}, {0, OP_clrrwi, 21<<26, "clrrwi"}, {0, OP_extlwi, 21<<26, "extlwi"}, {0, OP_extrwi, 21<<26, "extrwi"}, {0, OP_inslwi, 20<<26, "inslwi"}, {0, OP_insrwi, 20<<26, "insrwi"}, {0, OP_RA_RS_RB_C, 23<<26 | 0<<6 | 31<<1, "rotlw"}, {0, OP_RA_RS_SH5_C, 21<<26 | 0<<6 | 31<<1, "rotlwi"}, {0, OP_rotrwi, 21<<26, "rotrwi"}, {0, OP_slwi, 21<<26, "slwi"}, {0, OP_srwi, 21<<26, "srwi"}, /* page 74 */ {0, OP_RA_RS_RB_C, 31<<26 | 27<<1, "sld"}, {0, OP_RA_RS_RB_C, 31<<26 | 24<<1, "slw"}, {0, OP_RA_RS_RB_C, 31<<26 | 539<<1, "srd"}, {0, OP_RA_RS_RB_C, 31<<26 | 536<<1, "srw"}, {0, OP_RA_RS_SH6_C, 31<<26 | 413<<2, "sradi"}, {0, OP_RA_RS_SH5_C, 31<<26 | 824<<1, "srawi"}, {0, OP_RA_RS_RB_C, 31<<26 | 794<<1, "srad"}, {0, OP_RA_RS_RB_C, 31<<26 | 792<<1, "sraw"}, /* page 78 */ {0, OP_RS_SPR, 31<<26 | 467<<1, "mtspr"}, {0, OP_RT_SPR, 31<<26 | 339<<1, "mfspr"}, {0, OP_RS_FXM, 31<<26 | 0<<20 | 144<<1, "mtcrf"}, {0, OP_RT, 31<<26 | 0<<20 | 19<<1, "mfcr"}, /* extended m for special purpose registers (page 153) */ {0, OP_RT, 31<<26 | 9<<16 | 0<<11 | 339<<1, "mfctr"}, {0, OP_RT, 31<<26 | 8<<16 | 0<<11 | 339<<1, "mflr"}, {0, OP_RT, 31<<26 | 1<<16 | 0<<11 | 339<<1, "mfxer"}, {0, OP_RS, 31<<26 | 9<<16 | 0<<11 | 467<<1, "mtctr"}, {0, OP_RS, 31<<26 | 8<<16 | 0<<11 | 467<<1, "mtlr"}, {0, OP_RS, 31<<26 | 1<<16 | 0<<11 | 467<<1, "mtxer"}, /* extended m for condition register (page 154) */ {0, OP_RS, 31<<26 | 0<<20 | 255<<12 | 144<<1, "mtcr"}, /* Floating point instructions (page 83) */ /* page 98 */ {0, OP_FRT_RA_D, 48<<26, "lfs"}, {0, OP_FRT_RA_RB, 31<<26 | 535<<1, "lfsx"}, {0, OP_FRT_RA_D, 49<<26, "lfsu"}, {0, OP_FRT_RA_RB, 31<<26 | 567<<1, "lfsux"}, {0, OP_FRT_RA_D, 50<<26, "lfd"}, {0, OP_FRT_RA_RB, 31<<26 | 599<<1, "lfdx"}, {0, OP_FRT_RA_D, 51<<26, "lfdu"}, {0, OP_FRT_RA_RB, 31<<26 | 631<<1, "lfdux"}, {0, OP_FRS_RA_D, 52<<26, "stfs"}, {0, OP_FRS_RA_RB, 31<<26 | 663<<1, "stfsx"}, {0, OP_FRS_RA_D, 53<<26, "stfsu"}, {0, OP_FRS_RA_RB, 31<<26 | 695<<1, "stfsux"}, {0, OP_FRS_RA_D, 54<<26, "stfd"}, {0, OP_FRS_RA_RB, 31<<26 | 727<<1, "stfdx"}, {0, OP_FRS_RA_D, 55<<26, "stfdu"}, {0, OP_FRS_RA_RB, 31<<26 | 759<<1, "stfdux"}, {0, OP_FRS_RA_RB, 31<<26 | 983<<1, "stfiwx"}, /* page 104 */ {0, OP_FRT_FRB_C, 63<<26 | 72<<1, "fmr"}, {0, OP_FRT_FRB_C, 63<<26 | 40<<1, "fneg"}, {0, OP_FRT_FRB_C, 63<<26 | 264<<1, "fabs"}, {0, OP_FRT_FRB_C, 63<<26 | 136<<1, "fnabs"}, {0, OP_FRT_FRA_FRB_C, 63<<26 | 21<<1, "fadd"}, {0, OP_FRT_FRA_FRB_C, 59<<26 | 21<<1, "fadds"}, {0, OP_FRT_FRA_FRB_C, 63<<26 | 20<<1, "fsub"}, {0, OP_FRT_FRA_FRB_C, 59<<26 | 20<<1, "fsubs"}, {0, OP_FRT_FRA_FRC_C, 63<<26 | 25<<1, "fmul"}, {0, OP_FRT_FRA_FRC_C, 59<<26 | 25<<1, "fmuls"}, {0, OP_FRT_FRA_FRB_C, 63<<26 | 18<<1, "fdiv"}, {0, OP_FRT_FRA_FRB_C, 59<<26 | 18<<1, "fdivs"}, {0, OP_FRT_FRA_FRC_FRB_C, 63<<26 | 29<<1, "fmadd"}, {0, OP_FRT_FRA_FRC_FRB_C, 59<<26 | 29<<1, "fmadds"}, {0, OP_FRT_FRA_FRC_FRB_C, 63<<26 | 28<<1, "fmsub"}, {0, OP_FRT_FRA_FRC_FRB_C, 59<<26 | 28<<1, "fmsubs"}, {0, OP_FRT_FRA_FRC_FRB_C, 63<<26 | 31<<1, "fnmadd"}, {0, OP_FRT_FRA_FRC_FRB_C, 59<<26 | 31<<1, "fnmadds"}, {0, OP_FRT_FRA_FRC_FRB_C, 63<<26 | 30<<1, "fnmsub"}, {0, OP_FRT_FRA_FRC_FRB_C, 59<<26 | 30<<1, "fnmsubs"}, /* page 109 */ {0, OP_FRT_FRB_C, 63<<26 | 12<<1, "frsp"}, {0, OP_FRT_FRB_C, 63<<26 | 814<<1, "fctid"}, {0, OP_FRT_FRB_C, 63<<26 | 815<<1, "fctidz"}, {0, OP_FRT_FRB_C, 63<<26 | 14<<1, "fctiw"}, {0, OP_FRT_FRB_C, 63<<26 | 15<<1, "fctiwz"}, {0, OP_FRT_FRB_C, 63<<26 | 846<<1, "fcfid"}, {0, OP_BF_FRA_FRB, 63<<26 | 0<<1, "fcmpu"}, {0, OP_BF_FRA_FRB, 63<<26 | 32<<1, "fcmpo"}, {0, OP_FRT_C, 63<<26 | 583<<1, "mffs"}, {0, OP_BF_BFA, 63<<26 | 64<<1, "mcrfs"}, {0, OP_BF_U_C, 63<<26 | 134<<1, "mtfsfi"}, {0, OP_FLM_FRB_C, 63<<26 | 711<<1, "mtfsf"}, {0, OP_BT_C, 63<<26 | 70<<1, "mtfsb0"}, {0, OP_BT_C, 63<<26 | 38<<1, "mtfsb1"}, {0, OP_FRT_FRB_C, 63<<26 | 22<<1, "fsqrt"}, {0, OP_FRT_FRB_C, 59<<26 | 22<<1, "fsqrts"}, {0, OP_FRT_FRB_C, 59<<26 | 24<<1, "fres"}, {0, OP_FRT_FRB_C, 63<<26 | 26<<1, "frsqrte"}, {0, OP_FRT_FRA_FRC_FRB_C, 63<<26 | 23<<1, "fsel"}, /* Storage control instructions (Book II, page 15) */ /* Book II, page 17 */ {0, OP_RA_RB, 31<<26 | 982<<1, "icbi"}, {0, OP_RA_RB_TH /* page 35 */, 31<<26 | 278<<1, "dcbt"}, {0, OP_RA_RB, 31<<26 | 246<<1, "dcbtst"}, {0, OP_RA_RB, 31<<26 | 1014<<1, "dcbz"}, {0, OP_RA_RB, 31<<26 | 54<<1, "dcbst"}, {0, OP_RA_RB, 31<<26 | 86<<1, "dcbf"}, {0, OP, 19<<26 | 150<<1, "isync"}, {0, OP_RT_RA_RB, 31<<26 | 20<<1, "lwarx"}, {0, OP_RT_RA_RB, 31<<26 | 84<<1, "ldarx"}, {0, OP_RS_RA_RB_CC, 31<<26 | 150<<1 | 1<<0, "stwcx"}, {0, OP_RS_RA_RB_CC, 31<<26 | 150<<1 | 1<<0, "stdcx"}, {0, OP_L, 31<<26 | 598<<1, "sync"}, {0, OP, 31<<26 | 1<<21 | 598<<1, "lwsync"}, {0, OP, 31<<26 | 2<<21 | 598<<1, "ptesync"}, {0, OP, 31<<26 | 854<<1, "eieio"}, /* Time base (Book II, page 30) */ {0, OP_RT_TBR, 31<<26 | 371<<1, "mftb"}, {0, OP_RT, 31<<26 | 8<<11 | 13<<16 | 371<<1, "mftbu"}, /* External control (Book II, page 33) */ {0, OP_RT_RA_RB, 31<<26 | 310<<1, "eciwx"}, {0, OP_RS_RA_RB, 31<<26 | 438<<1, "ecowx"},