aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/suite/MC/PowerPC
diff options
context:
space:
mode:
Diffstat (limited to 'capstone/suite/MC/PowerPC')
-rw-r--r--capstone/suite/MC/PowerPC/ppc64-encoding-bookII.s.cs24
-rw-r--r--capstone/suite/MC/PowerPC/ppc64-encoding-bookIII.s.cs35
-rw-r--r--capstone/suite/MC/PowerPC/ppc64-encoding-ext.s.cs535
-rw-r--r--capstone/suite/MC/PowerPC/ppc64-encoding-fp.s.cs110
-rw-r--r--capstone/suite/MC/PowerPC/ppc64-encoding-vmx.s.cs170
-rw-r--r--capstone/suite/MC/PowerPC/ppc64-encoding.s.cs202
-rw-r--r--capstone/suite/MC/PowerPC/ppc64-operands.s.cs31
7 files changed, 1107 insertions, 0 deletions
diff --git a/capstone/suite/MC/PowerPC/ppc64-encoding-bookII.s.cs b/capstone/suite/MC/PowerPC/ppc64-encoding-bookII.s.cs
new file mode 100644
index 000000000..cb8102169
--- /dev/null
+++ b/capstone/suite/MC/PowerPC/ppc64-encoding-bookII.s.cs
@@ -0,0 +1,24 @@
+# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
+0x7c,0x02,0x1f,0xac = icbi 2, 3
+0x7c,0x02,0x1a,0x2c = dcbt 2, 3
+0x7c,0x02,0x19,0xec = dcbtst 2, 3
+0x7c,0x02,0x1f,0xec = dcbz 2, 3
+0x7c,0x02,0x18,0x6c = dcbst 2, 3
+0x4c,0x00,0x01,0x2c = isync
+0x7c,0x43,0x21,0x2d = stwcx. 2, 3, 4
+0x7c,0x43,0x21,0xad = stdcx. 2, 3, 4
+// 0x7c,0x40,0x04,0xac = sync 2
+0x7c,0x00,0x06,0xac = eieio
+// 0x7c,0x40,0x00,0x7c = wait 2
+0x7c,0x02,0x18,0xac = dcbf 2, 3
+0x7c,0x43,0x20,0x28 = lwarx 2, 3, 4
+0x7c,0x43,0x20,0xa8 = ldarx 2, 3, 4
+0x7c,0x00,0x04,0xac = sync
+// 0x7c,0x20,0x04,0xac = sync 1
+// 0x7c,0x40,0x04,0xac = sync 2
+// 0x7c,0x00,0x00,0x7c = wait 0
+// 0x7c,0x20,0x00,0x7c = wait 1
+// 0x7c,0x40,0x00,0x7c = wait 2
+0x7c,0x5b,0x1a,0xe6 = mftb 2, 123
+0x7c,0x4c,0x42,0xe6 = mftb 2, 268
+// 0x7c,0x4d,0x42,0xe6 = mftb 2, 269
diff --git a/capstone/suite/MC/PowerPC/ppc64-encoding-bookIII.s.cs b/capstone/suite/MC/PowerPC/ppc64-encoding-bookIII.s.cs
new file mode 100644
index 000000000..53ab9cd44
--- /dev/null
+++ b/capstone/suite/MC/PowerPC/ppc64-encoding-bookIII.s.cs
@@ -0,0 +1,35 @@
+# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
+// 0x7c,0x80,0x01,0x24 = mtmsr 4, 0
+0x7c,0x81,0x01,0x24 = mtmsr 4, 1
+0x7c,0x80,0x00,0xa6 = mfmsr 4
+// 0x7c,0x80,0x01,0x64 = mtmsrd 4, 0
+0x7c,0x81,0x01,0x64 = mtmsrd 4, 1
+0x7c,0x90,0x42,0xa6 = mfspr 4, 272
+0x7c,0x91,0x42,0xa6 = mfspr 4, 273
+0x7c,0x92,0x42,0xa6 = mfspr 4, 274
+0x7c,0x93,0x42,0xa6 = mfspr 4, 275
+0x7c,0x90,0x43,0xa6 = mtspr 272, 4
+0x7c,0x91,0x43,0xa6 = mtspr 273, 4
+0x7c,0x92,0x43,0xa6 = mtspr 274, 4
+0x7c,0x93,0x43,0xa6 = mtspr 275, 4
+0x7c,0x90,0x43,0xa6 = mtspr 272, 4
+0x7c,0x91,0x43,0xa6 = mtspr 273, 4
+0x7c,0x92,0x43,0xa6 = mtspr 274, 4
+0x7c,0x93,0x43,0xa6 = mtspr 275, 4
+0x7c,0x98,0x43,0xa6 = mtspr 280, 4
+0x7c,0x96,0x02,0xa6 = mfspr 4, 22
+0x7c,0x96,0x03,0xa6 = mtspr 22, 4
+// 0x7c,0x9f,0x42,0xa6 = mfspr 4, 287
+0x7c,0x99,0x02,0xa6 = mfspr 4, 25
+0x7c,0x99,0x03,0xa6 = mtspr 25, 4
+0x7c,0x9a,0x02,0xa6 = mfspr 4, 26
+0x7c,0x9a,0x03,0xa6 = mtspr 26, 4
+0x7c,0x9b,0x02,0xa6 = mfspr 4, 27
+0x7c,0x9b,0x03,0xa6 = mtspr 27, 4
+0x7c,0x00,0x23,0x64 = slbie 4
+0x7c,0x80,0x2b,0x24 = slbmte 4, 5
+0x7c,0x80,0x2f,0x26 = slbmfee 4, 5
+0x7c,0x00,0x03,0xe4 = slbia
+0x7c,0x00,0x04,0x6c = tlbsync
+0x7c,0x00,0x22,0x24 = tlbiel 4
+// 0x7c,0x00,0x22,0x64 = tlbie 4,0
diff --git a/capstone/suite/MC/PowerPC/ppc64-encoding-ext.s.cs b/capstone/suite/MC/PowerPC/ppc64-encoding-ext.s.cs
new file mode 100644
index 000000000..e13b4c407
--- /dev/null
+++ b/capstone/suite/MC/PowerPC/ppc64-encoding-ext.s.cs
@@ -0,0 +1,535 @@
+# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
+// 0x4d,0x82,0x00,0x20 = beqlr 0
+// 0x4d,0x86,0x00,0x20 = beqlr 1
+// 0x4d,0x8a,0x00,0x20 = beqlr 2
+// 0x4d,0x8e,0x00,0x20 = beqlr 3
+// 0x4d,0x92,0x00,0x20 = beqlr 4
+// 0x4d,0x96,0x00,0x20 = beqlr 5
+// 0x4d,0x9a,0x00,0x20 = beqlr 6
+// 0x4d,0x9e,0x00,0x20 = beqlr 7
+// 0x4d,0x80,0x00,0x20 = bclr 12, 0, 0
+// 0x4d,0x81,0x00,0x20 = bclr 12, 1, 0
+// 0x4d,0x82,0x00,0x20 = bclr 12, 2, 0
+// 0x4d,0x83,0x00,0x20 = bclr 12, 3, 0
+// 0x4d,0x83,0x00,0x20 = bclr 12, 3, 0
+// 0x4d,0x84,0x00,0x20 = bclr 12, 4, 0
+// 0x4d,0x85,0x00,0x20 = bclr 12, 5, 0
+// 0x4d,0x86,0x00,0x20 = bclr 12, 6, 0
+// 0x4d,0x87,0x00,0x20 = bclr 12, 7, 0
+// 0x4d,0x87,0x00,0x20 = bclr 12, 7, 0
+// 0x4d,0x88,0x00,0x20 = bclr 12, 8, 0
+// 0x4d,0x89,0x00,0x20 = bclr 12, 9, 0
+// 0x4d,0x8a,0x00,0x20 = bclr 12, 10, 0
+// 0x4d,0x8b,0x00,0x20 = bclr 12, 11, 0
+// 0x4d,0x8b,0x00,0x20 = bclr 12, 11, 0
+// 0x4d,0x8c,0x00,0x20 = bclr 12, 12, 0
+// 0x4d,0x8d,0x00,0x20 = bclr 12, 13, 0
+// 0x4d,0x8e,0x00,0x20 = bclr 12, 14, 0
+// 0x4d,0x8f,0x00,0x20 = bclr 12, 15, 0
+// 0x4d,0x8f,0x00,0x20 = bclr 12, 15, 0
+// 0x4d,0x90,0x00,0x20 = bclr 12, 16, 0
+// 0x4d,0x91,0x00,0x20 = bclr 12, 17, 0
+// 0x4d,0x92,0x00,0x20 = bclr 12, 18, 0
+// 0x4d,0x93,0x00,0x20 = bclr 12, 19, 0
+// 0x4d,0x93,0x00,0x20 = bclr 12, 19, 0
+// 0x4d,0x94,0x00,0x20 = bclr 12, 20, 0
+// 0x4d,0x95,0x00,0x20 = bclr 12, 21, 0
+// 0x4d,0x96,0x00,0x20 = bclr 12, 22, 0
+// 0x4d,0x97,0x00,0x20 = bclr 12, 23, 0
+// 0x4d,0x97,0x00,0x20 = bclr 12, 23, 0
+// 0x4d,0x98,0x00,0x20 = bclr 12, 24, 0
+// 0x4d,0x99,0x00,0x20 = bclr 12, 25, 0
+// 0x4d,0x9a,0x00,0x20 = bclr 12, 26, 0
+// 0x4d,0x9b,0x00,0x20 = bclr 12, 27, 0
+// 0x4d,0x9b,0x00,0x20 = bclr 12, 27, 0
+// 0x4d,0x9c,0x00,0x20 = bclr 12, 28, 0
+// 0x4d,0x9d,0x00,0x20 = bclr 12, 29, 0
+// 0x4d,0x9e,0x00,0x20 = bclr 12, 30, 0
+// 0x4d,0x9f,0x00,0x20 = bclr 12, 31, 0
+// 0x4d,0x9f,0x00,0x20 = bclr 12, 31, 0
+0x4e,0x80,0x00,0x20 = blr
+0x4e,0x80,0x04,0x20 = bctr
+0x4e,0x80,0x00,0x21 = blrl
+0x4e,0x80,0x04,0x21 = bctrl
+// 0x4d,0x82,0x00,0x20 = bclr 12, 2, 0
+// 0x4d,0x82,0x04,0x20 = bcctr 12, 2, 0
+// 0x4d,0x82,0x00,0x21 = bclrl 12, 2, 0
+// 0x4d,0x82,0x04,0x21 = bcctrl 12, 2, 0
+// 0x4d,0xe2,0x00,0x20 = bclr 15, 2, 0
+// 0x4d,0xe2,0x04,0x20 = bcctr 15, 2, 0
+// 0x4d,0xe2,0x00,0x21 = bclrl 15, 2, 0
+// 0x4d,0xe2,0x04,0x21 = bcctrl 15, 2, 0
+// 0x4d,0xc2,0x00,0x20 = bclr 14, 2, 0
+// 0x4d,0xc2,0x04,0x20 = bcctr 14, 2, 0
+// 0x4d,0xc2,0x00,0x21 = bclrl 14, 2, 0
+// 0x4d,0xc2,0x04,0x21 = bcctrl 14, 2, 0
+// 0x4c,0x82,0x00,0x20 = bclr 4, 2, 0
+// 0x4c,0x82,0x04,0x20 = bcctr 4, 2, 0
+// 0x4c,0x82,0x00,0x21 = bclrl 4, 2, 0
+// 0x4c,0x82,0x04,0x21 = bcctrl 4, 2, 0
+// 0x4c,0xe2,0x00,0x20 = bclr 7, 2, 0
+// 0x4c,0xe2,0x04,0x20 = bcctr 7, 2, 0
+// 0x4c,0xe2,0x00,0x21 = bclrl 7, 2, 0
+// 0x4c,0xe2,0x04,0x21 = bcctrl 7, 2, 0
+// 0x4c,0xc2,0x00,0x20 = bclr 6, 2, 0
+// 0x4c,0xc2,0x04,0x20 = bcctr 6, 2, 0
+// 0x4c,0xc2,0x00,0x21 = bclrl 6, 2, 0
+// 0x4c,0xc2,0x04,0x21 = bcctrl 6, 2, 0
+0x4e,0x00,0x00,0x20 = bdnzlr
+0x4e,0x00,0x00,0x21 = bdnzlrl
+0x4f,0x20,0x00,0x20 = bdnzlr+
+0x4f,0x20,0x00,0x21 = bdnzlrl+
+0x4f,0x00,0x00,0x20 = bdnzlr-
+0x4f,0x00,0x00,0x21 = bdnzlrl-
+// 0x4d,0x02,0x00,0x20 = bclr 8, 2, 0
+// 0x4d,0x02,0x00,0x21 = bclrl 8, 2, 0
+// 0x4c,0x02,0x00,0x20 = bclr 0, 2, 0
+// 0x4c,0x02,0x00,0x21 = bclrl 0, 2, 0
+0x4e,0x40,0x00,0x20 = bdzlr
+0x4e,0x40,0x00,0x21 = bdzlrl
+0x4f,0x60,0x00,0x20 = bdzlr+
+0x4f,0x60,0x00,0x21 = bdzlrl+
+0x4f,0x40,0x00,0x20 = bdzlr-
+0x4f,0x40,0x00,0x21 = bdzlrl-
+// 0x4d,0x42,0x00,0x20 = bclr 10, 2, 0
+// 0x4d,0x42,0x00,0x21 = bclrl 10, 2, 0
+// 0x4c,0x42,0x00,0x20 = bclr 2, 2, 0
+// 0x4c,0x42,0x00,0x21 = bclrl 2, 2, 0
+// 0x4d,0x88,0x00,0x20 = bltlr 2
+// 0x4d,0x80,0x00,0x20 = bltlr 0
+// 0x4d,0x88,0x04,0x20 = bltctr 2
+// 0x4d,0x80,0x04,0x20 = bltctr 0
+// 0x4d,0x88,0x00,0x21 = bltlrl 2
+// 0x4d,0x80,0x00,0x21 = bltlrl 0
+// 0x4d,0x88,0x04,0x21 = bltctrl 2
+// 0x4d,0x80,0x04,0x21 = bltctrl 0
+// 0x4d,0xe8,0x00,0x20 = bltlr+ 2
+// 0x4d,0xe0,0x00,0x20 = bltlr+ 0
+// 0x4d,0xe8,0x04,0x20 = bltctr+ 2
+// 0x4d,0xe0,0x04,0x20 = bltctr+ 0
+// 0x4d,0xe8,0x00,0x21 = bltlrl+ 2
+// 0x4d,0xe0,0x00,0x21 = bltlrl+ 0
+// 0x4d,0xe8,0x04,0x21 = bltctrl+ 2
+// 0x4d,0xe0,0x04,0x21 = bltctrl+ 0
+// 0x4d,0xc8,0x00,0x20 = bltlr- 2
+// 0x4d,0xc0,0x00,0x20 = bltlr- 0
+// 0x4d,0xc8,0x04,0x20 = bltctr- 2
+// 0x4d,0xc0,0x04,0x20 = bltctr- 0
+// 0x4d,0xc8,0x00,0x21 = bltlrl- 2
+// 0x4d,0xc0,0x00,0x21 = bltlrl- 0
+// 0x4d,0xc8,0x04,0x21 = bltctrl- 2
+// 0x4d,0xc0,0x04,0x21 = bltctrl- 0
+// 0x4c,0x89,0x00,0x20 = blelr 2
+// 0x4c,0x81,0x00,0x20 = blelr 0
+// 0x4c,0x89,0x04,0x20 = blectr 2
+// 0x4c,0x81,0x04,0x20 = blectr 0
+// 0x4c,0x89,0x00,0x21 = blelrl 2
+// 0x4c,0x81,0x00,0x21 = blelrl 0
+// 0x4c,0x89,0x04,0x21 = blectrl 2
+// 0x4c,0x81,0x04,0x21 = blectrl 0
+// 0x4c,0xe9,0x00,0x20 = blelr+ 2
+// 0x4c,0xe1,0x00,0x20 = blelr+ 0
+// 0x4c,0xe9,0x04,0x20 = blectr+ 2
+// 0x4c,0xe1,0x04,0x20 = blectr+ 0
+// 0x4c,0xe9,0x00,0x21 = blelrl+ 2
+// 0x4c,0xe1,0x00,0x21 = blelrl+ 0
+// 0x4c,0xe9,0x04,0x21 = blectrl+ 2
+// 0x4c,0xe1,0x04,0x21 = blectrl+ 0
+// 0x4c,0xc9,0x00,0x20 = blelr- 2
+// 0x4c,0xc1,0x00,0x20 = blelr- 0
+// 0x4c,0xc9,0x04,0x20 = blectr- 2
+// 0x4c,0xc1,0x04,0x20 = blectr- 0
+// 0x4c,0xc9,0x00,0x21 = blelrl- 2
+// 0x4c,0xc1,0x00,0x21 = blelrl- 0
+// 0x4c,0xc9,0x04,0x21 = blectrl- 2
+// 0x4c,0xc1,0x04,0x21 = blectrl- 0
+// 0x4d,0x8a,0x00,0x20 = beqlr 2
+// 0x4d,0x82,0x00,0x20 = beqlr 0
+// 0x4d,0x8a,0x04,0x20 = beqctr 2
+// 0x4d,0x82,0x04,0x20 = beqctr 0
+// 0x4d,0x8a,0x00,0x21 = beqlrl 2
+// 0x4d,0x82,0x00,0x21 = beqlrl 0
+// 0x4d,0x8a,0x04,0x21 = beqctrl 2
+// 0x4d,0x82,0x04,0x21 = beqctrl 0
+// 0x4d,0xea,0x00,0x20 = beqlr+ 2
+// 0x4d,0xe2,0x00,0x20 = beqlr+ 0
+// 0x4d,0xea,0x04,0x20 = beqctr+ 2
+// 0x4d,0xe2,0x04,0x20 = beqctr+ 0
+// 0x4d,0xea,0x00,0x21 = beqlrl+ 2
+// 0x4d,0xe2,0x00,0x21 = beqlrl+ 0
+// 0x4d,0xea,0x04,0x21 = beqctrl+ 2
+// 0x4d,0xe2,0x04,0x21 = beqctrl+ 0
+// 0x4d,0xca,0x00,0x20 = beqlr- 2
+// 0x4d,0xc2,0x00,0x20 = beqlr- 0
+// 0x4d,0xca,0x04,0x20 = beqctr- 2
+// 0x4d,0xc2,0x04,0x20 = beqctr- 0
+// 0x4d,0xca,0x00,0x21 = beqlrl- 2
+// 0x4d,0xc2,0x00,0x21 = beqlrl- 0
+// 0x4d,0xca,0x04,0x21 = beqctrl- 2
+// 0x4d,0xc2,0x04,0x21 = beqctrl- 0
+// 0x4c,0x88,0x00,0x20 = bgelr 2
+// 0x4c,0x80,0x00,0x20 = bgelr 0
+// 0x4c,0x88,0x04,0x20 = bgectr 2
+// 0x4c,0x80,0x04,0x20 = bgectr 0
+// 0x4c,0x88,0x00,0x21 = bgelrl 2
+// 0x4c,0x80,0x00,0x21 = bgelrl 0
+// 0x4c,0x88,0x04,0x21 = bgectrl 2
+// 0x4c,0x80,0x04,0x21 = bgectrl 0
+// 0x4c,0xe8,0x00,0x20 = bgelr+ 2
+// 0x4c,0xe0,0x00,0x20 = bgelr+ 0
+// 0x4c,0xe8,0x04,0x20 = bgectr+ 2
+// 0x4c,0xe0,0x04,0x20 = bgectr+ 0
+// 0x4c,0xe8,0x00,0x21 = bgelrl+ 2
+// 0x4c,0xe0,0x00,0x21 = bgelrl+ 0
+// 0x4c,0xe8,0x04,0x21 = bgectrl+ 2
+// 0x4c,0xe0,0x04,0x21 = bgectrl+ 0
+// 0x4c,0xc8,0x00,0x20 = bgelr- 2
+// 0x4c,0xc0,0x00,0x20 = bgelr- 0
+// 0x4c,0xc8,0x04,0x20 = bgectr- 2
+// 0x4c,0xc0,0x04,0x20 = bgectr- 0
+// 0x4c,0xc8,0x00,0x21 = bgelrl- 2
+// 0x4c,0xc0,0x00,0x21 = bgelrl- 0
+// 0x4c,0xc8,0x04,0x21 = bgectrl- 2
+// 0x4c,0xc0,0x04,0x21 = bgectrl- 0
+// 0x4d,0x89,0x00,0x20 = bgtlr 2
+// 0x4d,0x81,0x00,0x20 = bgtlr 0
+// 0x4d,0x89,0x04,0x20 = bgtctr 2
+// 0x4d,0x81,0x04,0x20 = bgtctr 0
+// 0x4d,0x89,0x00,0x21 = bgtlrl 2
+// 0x4d,0x81,0x00,0x21 = bgtlrl 0
+// 0x4d,0x89,0x04,0x21 = bgtctrl 2
+// 0x4d,0x81,0x04,0x21 = bgtctrl 0
+// 0x4d,0xe9,0x00,0x20 = bgtlr+ 2
+// 0x4d,0xe1,0x00,0x20 = bgtlr+ 0
+// 0x4d,0xe9,0x04,0x20 = bgtctr+ 2
+// 0x4d,0xe1,0x04,0x20 = bgtctr+ 0
+// 0x4d,0xe9,0x00,0x21 = bgtlrl+ 2
+// 0x4d,0xe1,0x00,0x21 = bgtlrl+ 0
+// 0x4d,0xe9,0x04,0x21 = bgtctrl+ 2
+// 0x4d,0xe1,0x04,0x21 = bgtctrl+ 0
+// 0x4d,0xc9,0x00,0x20 = bgtlr- 2
+// 0x4d,0xc1,0x00,0x20 = bgtlr- 0
+// 0x4d,0xc9,0x04,0x20 = bgtctr- 2
+// 0x4d,0xc1,0x04,0x20 = bgtctr- 0
+// 0x4d,0xc9,0x00,0x21 = bgtlrl- 2
+// 0x4d,0xc1,0x00,0x21 = bgtlrl- 0
+// 0x4d,0xc9,0x04,0x21 = bgtctrl- 2
+// 0x4d,0xc1,0x04,0x21 = bgtctrl- 0
+// 0x4c,0x88,0x00,0x20 = bgelr 2
+// 0x4c,0x80,0x00,0x20 = bgelr 0
+// 0x4c,0x88,0x04,0x20 = bgectr 2
+// 0x4c,0x80,0x04,0x20 = bgectr 0
+// 0x4c,0x88,0x00,0x21 = bgelrl 2
+// 0x4c,0x80,0x00,0x21 = bgelrl 0
+// 0x4c,0x88,0x04,0x21 = bgectrl 2
+// 0x4c,0x80,0x04,0x21 = bgectrl 0
+// 0x4c,0xe8,0x00,0x20 = bgelr+ 2
+// 0x4c,0xe0,0x00,0x20 = bgelr+ 0
+// 0x4c,0xe8,0x04,0x20 = bgectr+ 2
+// 0x4c,0xe0,0x04,0x20 = bgectr+ 0
+// 0x4c,0xe8,0x00,0x21 = bgelrl+ 2
+// 0x4c,0xe0,0x00,0x21 = bgelrl+ 0
+// 0x4c,0xe8,0x04,0x21 = bgectrl+ 2
+// 0x4c,0xe0,0x04,0x21 = bgectrl+ 0
+// 0x4c,0xc8,0x00,0x20 = bgelr- 2
+// 0x4c,0xc0,0x00,0x20 = bgelr- 0
+// 0x4c,0xc8,0x04,0x20 = bgectr- 2
+// 0x4c,0xc0,0x04,0x20 = bgectr- 0
+// 0x4c,0xc8,0x00,0x21 = bgelrl- 2
+// 0x4c,0xc0,0x00,0x21 = bgelrl- 0
+// 0x4c,0xc8,0x04,0x21 = bgectrl- 2
+// 0x4c,0xc0,0x04,0x21 = bgectrl- 0
+// 0x4c,0x8a,0x00,0x20 = bnelr 2
+// 0x4c,0x82,0x00,0x20 = bnelr 0
+// 0x4c,0x8a,0x04,0x20 = bnectr 2
+// 0x4c,0x82,0x04,0x20 = bnectr 0
+// 0x4c,0x8a,0x00,0x21 = bnelrl 2
+// 0x4c,0x82,0x00,0x21 = bnelrl 0
+// 0x4c,0x8a,0x04,0x21 = bnectrl 2
+// 0x4c,0x82,0x04,0x21 = bnectrl 0
+// 0x4c,0xea,0x00,0x20 = bnelr+ 2
+// 0x4c,0xe2,0x00,0x20 = bnelr+ 0
+// 0x4c,0xea,0x04,0x20 = bnectr+ 2
+// 0x4c,0xe2,0x04,0x20 = bnectr+ 0
+// 0x4c,0xea,0x00,0x21 = bnelrl+ 2
+// 0x4c,0xe2,0x00,0x21 = bnelrl+ 0
+// 0x4c,0xea,0x04,0x21 = bnectrl+ 2
+// 0x4c,0xe2,0x04,0x21 = bnectrl+ 0
+// 0x4c,0xca,0x00,0x20 = bnelr- 2
+// 0x4c,0xc2,0x00,0x20 = bnelr- 0
+// 0x4c,0xca,0x04,0x20 = bnectr- 2
+// 0x4c,0xc2,0x04,0x20 = bnectr- 0
+// 0x4c,0xca,0x00,0x21 = bnelrl- 2
+// 0x4c,0xc2,0x00,0x21 = bnelrl- 0
+// 0x4c,0xca,0x04,0x21 = bnectrl- 2
+// 0x4c,0xc2,0x04,0x21 = bnectrl- 0
+// 0x4c,0x89,0x00,0x20 = blelr 2
+// 0x4c,0x81,0x00,0x20 = blelr 0
+// 0x4c,0x89,0x04,0x20 = blectr 2
+// 0x4c,0x81,0x04,0x20 = blectr 0
+// 0x4c,0x89,0x00,0x21 = blelrl 2
+// 0x4c,0x81,0x00,0x21 = blelrl 0
+// 0x4c,0x89,0x04,0x21 = blectrl 2
+// 0x4c,0x81,0x04,0x21 = blectrl 0
+// 0x4c,0xe9,0x00,0x20 = blelr+ 2
+// 0x4c,0xe1,0x00,0x20 = blelr+ 0
+// 0x4c,0xe9,0x04,0x20 = blectr+ 2
+// 0x4c,0xe1,0x04,0x20 = blectr+ 0
+// 0x4c,0xe9,0x00,0x21 = blelrl+ 2
+// 0x4c,0xe1,0x00,0x21 = blelrl+ 0
+// 0x4c,0xe9,0x04,0x21 = blectrl+ 2
+// 0x4c,0xe1,0x04,0x21 = blectrl+ 0
+// 0x4c,0xc9,0x00,0x20 = blelr- 2
+// 0x4c,0xc1,0x00,0x20 = blelr- 0
+// 0x4c,0xc9,0x04,0x20 = blectr- 2
+// 0x4c,0xc1,0x04,0x20 = blectr- 0
+// 0x4c,0xc9,0x00,0x21 = blelrl- 2
+// 0x4c,0xc1,0x00,0x21 = blelrl- 0
+// 0x4c,0xc9,0x04,0x21 = blectrl- 2
+// 0x4c,0xc1,0x04,0x21 = blectrl- 0
+// 0x4d,0x8b,0x00,0x20 = bunlr 2
+// 0x4d,0x83,0x00,0x20 = bunlr 0
+// 0x4d,0x8b,0x04,0x20 = bunctr 2
+// 0x4d,0x83,0x04,0x20 = bunctr 0
+// 0x4d,0x8b,0x00,0x21 = bunlrl 2
+// 0x4d,0x83,0x00,0x21 = bunlrl 0
+// 0x4d,0x8b,0x04,0x21 = bunctrl 2
+// 0x4d,0x83,0x04,0x21 = bunctrl 0
+// 0x4d,0xeb,0x00,0x20 = bunlr+ 2
+// 0x4d,0xe3,0x00,0x20 = bunlr+ 0
+// 0x4d,0xeb,0x04,0x20 = bunctr+ 2
+// 0x4d,0xe3,0x04,0x20 = bunctr+ 0
+// 0x4d,0xeb,0x00,0x21 = bunlrl+ 2
+// 0x4d,0xe3,0x00,0x21 = bunlrl+ 0
+// 0x4d,0xeb,0x04,0x21 = bunctrl+ 2
+// 0x4d,0xe3,0x04,0x21 = bunctrl+ 0
+// 0x4d,0xcb,0x00,0x20 = bunlr- 2
+// 0x4d,0xc3,0x00,0x20 = bunlr- 0
+// 0x4d,0xcb,0x04,0x20 = bunctr- 2
+// 0x4d,0xc3,0x04,0x20 = bunctr- 0
+// 0x4d,0xcb,0x00,0x21 = bunlrl- 2
+// 0x4d,0xc3,0x00,0x21 = bunlrl- 0
+// 0x4d,0xcb,0x04,0x21 = bunctrl- 2
+// 0x4d,0xc3,0x04,0x21 = bunctrl- 0
+// 0x4c,0x8b,0x00,0x20 = bnulr 2
+// 0x4c,0x83,0x00,0x20 = bnulr 0
+// 0x4c,0x8b,0x04,0x20 = bnuctr 2
+// 0x4c,0x83,0x04,0x20 = bnuctr 0
+// 0x4c,0x8b,0x00,0x21 = bnulrl 2
+// 0x4c,0x83,0x00,0x21 = bnulrl 0
+// 0x4c,0x8b,0x04,0x21 = bnuctrl 2
+// 0x4c,0x83,0x04,0x21 = bnuctrl 0
+// 0x4c,0xeb,0x00,0x20 = bnulr+ 2
+// 0x4c,0xe3,0x00,0x20 = bnulr+ 0
+// 0x4c,0xeb,0x04,0x20 = bnuctr+ 2
+// 0x4c,0xe3,0x04,0x20 = bnuctr+ 0
+// 0x4c,0xeb,0x00,0x21 = bnulrl+ 2
+// 0x4c,0xe3,0x00,0x21 = bnulrl+ 0
+// 0x4c,0xeb,0x04,0x21 = bnuctrl+ 2
+// 0x4c,0xe3,0x04,0x21 = bnuctrl+ 0
+// 0x4c,0xcb,0x00,0x20 = bnulr- 2
+// 0x4c,0xc3,0x00,0x20 = bnulr- 0
+// 0x4c,0xcb,0x04,0x20 = bnuctr- 2
+// 0x4c,0xc3,0x04,0x20 = bnuctr- 0
+// 0x4c,0xcb,0x00,0x21 = bnulrl- 2
+// 0x4c,0xc3,0x00,0x21 = bnulrl- 0
+// 0x4c,0xcb,0x04,0x21 = bnuctrl- 2
+// 0x4c,0xc3,0x04,0x21 = bnuctrl- 0
+// 0x4d,0x8b,0x00,0x20 = bunlr 2
+// 0x4d,0x83,0x00,0x20 = bunlr 0
+// 0x4d,0x8b,0x04,0x20 = bunctr 2
+// 0x4d,0x83,0x04,0x20 = bunctr 0
+// 0x4d,0x8b,0x00,0x21 = bunlrl 2
+// 0x4d,0x83,0x00,0x21 = bunlrl 0
+// 0x4d,0x8b,0x04,0x21 = bunctrl 2
+// 0x4d,0x83,0x04,0x21 = bunctrl 0
+// 0x4d,0xeb,0x00,0x20 = bunlr+ 2
+// 0x4d,0xe3,0x00,0x20 = bunlr+ 0
+// 0x4d,0xeb,0x04,0x20 = bunctr+ 2
+// 0x4d,0xe3,0x04,0x20 = bunctr+ 0
+// 0x4d,0xeb,0x00,0x21 = bunlrl+ 2
+// 0x4d,0xe3,0x00,0x21 = bunlrl+ 0
+// 0x4d,0xeb,0x04,0x21 = bunctrl+ 2
+// 0x4d,0xe3,0x04,0x21 = bunctrl+ 0
+// 0x4d,0xcb,0x00,0x20 = bunlr- 2
+// 0x4d,0xc3,0x00,0x20 = bunlr- 0
+// 0x4d,0xcb,0x04,0x20 = bunctr- 2
+// 0x4d,0xc3,0x04,0x20 = bunctr- 0
+// 0x4d,0xcb,0x00,0x21 = bunlrl- 2
+// 0x4d,0xc3,0x00,0x21 = bunlrl- 0
+// 0x4d,0xcb,0x04,0x21 = bunctrl- 2
+// 0x4d,0xc3,0x04,0x21 = bunctrl- 0
+// 0x4c,0x8b,0x00,0x20 = bnulr 2
+// 0x4c,0x83,0x00,0x20 = bnulr 0
+// 0x4c,0x8b,0x04,0x20 = bnuctr 2
+// 0x4c,0x83,0x04,0x20 = bnuctr 0
+// 0x4c,0x8b,0x00,0x21 = bnulrl 2
+// 0x4c,0x83,0x00,0x21 = bnulrl 0
+// 0x4c,0x8b,0x04,0x21 = bnuctrl 2
+// 0x4c,0x83,0x04,0x21 = bnuctrl 0
+// 0x4c,0xeb,0x00,0x20 = bnulr+ 2
+// 0x4c,0xe3,0x00,0x20 = bnulr+ 0
+// 0x4c,0xeb,0x04,0x20 = bnuctr+ 2
+// 0x4c,0xe3,0x04,0x20 = bnuctr+ 0
+// 0x4c,0xeb,0x00,0x21 = bnulrl+ 2
+// 0x4c,0xe3,0x00,0x21 = bnulrl+ 0
+// 0x4c,0xeb,0x04,0x21 = bnuctrl+ 2
+// 0x4c,0xe3,0x04,0x21 = bnuctrl+ 0
+// 0x4c,0xcb,0x00,0x20 = bnulr- 2
+// 0x4c,0xc3,0x00,0x20 = bnulr- 0
+// 0x4c,0xcb,0x04,0x20 = bnuctr- 2
+// 0x4c,0xc3,0x04,0x20 = bnuctr- 0
+// 0x4c,0xcb,0x00,0x21 = bnulrl- 2
+// 0x4c,0xc3,0x00,0x21 = bnulrl- 0
+// 0x4c,0xcb,0x04,0x21 = bnuctrl- 2
+// 0x4c,0xc3,0x04,0x21 = bnuctrl- 0
+// 0x4c,0x42,0x12,0x42 = creqv 2, 2, 2
+// 0x4c,0x42,0x11,0x82 = crxor 2, 2, 2
+// 0x4c,0x43,0x1b,0x82 = cror 2, 3, 3
+// 0x4c,0x43,0x18,0x42 = crnor 2, 3, 3
+// 0x38,0x43,0xff,0x80 = addi 2, 3, -128
+// 0x3c,0x43,0xff,0x80 = addis 2, 3, -128
+// 0x30,0x43,0xff,0x80 = addic 2, 3, -128
+// 0x34,0x43,0xff,0x80 = addic. 2, 3, -128
+0x7c,0x44,0x18,0x50 = subf 2, 4, 3
+0x7c,0x44,0x18,0x51 = subf. 2, 4, 3
+0x7c,0x44,0x18,0x10 = subfc 2, 4, 3
+0x7c,0x44,0x18,0x11 = subfc. 2, 4, 3
+0x2d,0x23,0x00,0x80 = cmpdi 2, 3, 128
+// 0x2c,0x23,0x00,0x80 = cmpdi 0, 3, 128
+0x7d,0x23,0x20,0x00 = cmpd 2, 3, 4
+// 0x7c,0x23,0x20,0x00 = cmpd 0, 3, 4
+0x29,0x23,0x00,0x80 = cmpldi 2, 3, 128
+// 0x28,0x23,0x00,0x80 = cmpldi 0, 3, 128
+0x7d,0x23,0x20,0x40 = cmpld 2, 3, 4
+// 0x7c,0x23,0x20,0x40 = cmpld 0, 3, 4
+0x2d,0x03,0x00,0x80 = cmpwi 2, 3, 128
+// 0x2c,0x03,0x00,0x80 = cmpwi 0, 3, 128
+0x7d,0x03,0x20,0x00 = cmpw 2, 3, 4
+// 0x7c,0x03,0x20,0x00 = cmpw 0, 3, 4
+0x29,0x03,0x00,0x80 = cmplwi 2, 3, 128
+// 0x28,0x03,0x00,0x80 = cmplwi 0, 3, 128
+0x7d,0x03,0x20,0x40 = cmplw 2, 3, 4
+// 0x7c,0x03,0x20,0x40 = cmplw 0, 3, 4
+// 0x0e,0x03,0x00,0x04 = twi 16, 3, 4
+// 0x7e,0x03,0x20,0x08 = tw 16, 3, 4
+// 0x0a,0x03,0x00,0x04 = tdi 16, 3, 4
+// 0x7e,0x03,0x20,0x88 = td 16, 3, 4
+0x0e,0x83,0x00,0x04 = twi 20, 3, 4
+0x7e,0x83,0x20,0x08 = tw 20, 3, 4
+0x0a,0x83,0x00,0x04 = tdi 20, 3, 4
+0x7e,0x83,0x20,0x88 = td 20, 3, 4
+// 0x0c,0x83,0x00,0x04 = twi 4, 3, 4
+// 0x7c,0x83,0x20,0x08 = tw 4, 3, 4
+// 0x08,0x83,0x00,0x04 = tdi 4, 3, 4
+// 0x7c,0x83,0x20,0x88 = td 4, 3, 4
+0x0d,0x83,0x00,0x04 = twi 12, 3, 4
+0x7d,0x83,0x20,0x08 = tw 12, 3, 4
+0x09,0x83,0x00,0x04 = tdi 12, 3, 4
+0x7d,0x83,0x20,0x88 = td 12, 3, 4
+// 0x0d,0x03,0x00,0x04 = twi 8, 3, 4
+// 0x7d,0x03,0x20,0x08 = tw 8, 3, 4
+// 0x09,0x03,0x00,0x04 = tdi 8, 3, 4
+// 0x7d,0x03,0x20,0x88 = td 8, 3, 4
+0x0d,0x83,0x00,0x04 = twi 12, 3, 4
+0x7d,0x83,0x20,0x08 = tw 12, 3, 4
+0x09,0x83,0x00,0x04 = tdi 12, 3, 4
+0x7d,0x83,0x20,0x88 = td 12, 3, 4
+// 0x0f,0x03,0x00,0x04 = twi 24, 3, 4
+// 0x7f,0x03,0x20,0x08 = tw 24, 3, 4
+// 0x0b,0x03,0x00,0x04 = tdi 24, 3, 4
+// 0x7f,0x03,0x20,0x88 = td 24, 3, 4
+0x0e,0x83,0x00,0x04 = twi 20, 3, 4
+0x7e,0x83,0x20,0x08 = tw 20, 3, 4
+0x0a,0x83,0x00,0x04 = tdi 20, 3, 4
+0x7e,0x83,0x20,0x88 = td 20, 3, 4
+// 0x0c,0x43,0x00,0x04 = twi 2, 3, 4
+// 0x7c,0x43,0x20,0x08 = tw 2, 3, 4
+// 0x08,0x43,0x00,0x04 = tdi 2, 3, 4
+// 0x7c,0x43,0x20,0x88 = td 2, 3, 4
+0x0c,0xc3,0x00,0x04 = twi 6, 3, 4
+0x7c,0xc3,0x20,0x08 = tw 6, 3, 4
+0x08,0xc3,0x00,0x04 = tdi 6, 3, 4
+0x7c,0xc3,0x20,0x88 = td 6, 3, 4
+0x0c,0xa3,0x00,0x04 = twi 5, 3, 4
+0x7c,0xa3,0x20,0x08 = tw 5, 3, 4
+0x08,0xa3,0x00,0x04 = tdi 5, 3, 4
+0x7c,0xa3,0x20,0x88 = td 5, 3, 4
+// 0x0c,0x23,0x00,0x04 = twi 1, 3, 4
+// 0x7c,0x23,0x20,0x08 = tw 1, 3, 4
+// 0x08,0x23,0x00,0x04 = tdi 1, 3, 4
+// 0x7c,0x23,0x20,0x88 = td 1, 3, 4
+0x0c,0xa3,0x00,0x04 = twi 5, 3, 4
+0x7c,0xa3,0x20,0x08 = tw 5, 3, 4
+0x08,0xa3,0x00,0x04 = tdi 5, 3, 4
+0x7c,0xa3,0x20,0x88 = td 5, 3, 4
+0x0c,0xc3,0x00,0x04 = twi 6, 3, 4
+0x7c,0xc3,0x20,0x08 = tw 6, 3, 4
+0x08,0xc3,0x00,0x04 = tdi 6, 3, 4
+0x7c,0xc3,0x20,0x88 = td 6, 3, 4
+// 0x0f,0xe3,0x00,0x04 = twi 31, 3, 4
+// 0x7f,0xe3,0x20,0x08 = tw 31, 3, 4
+// 0x0b,0xe3,0x00,0x04 = tdi 31, 3, 4
+// 0x7f,0xe3,0x20,0x88 = td 31, 3, 4
+0x7f,0xe0,0x00,0x08 = trap
+0x78,0x62,0x28,0xc4 = rldicr 2, 3, 5, 3
+0x78,0x62,0x28,0xc5 = rldicr. 2, 3, 5, 3
+0x78,0x62,0x4f,0x20 = rldicl 2, 3, 9, 60
+0x78,0x62,0x4f,0x21 = rldicl. 2, 3, 9, 60
+0x78,0x62,0xb9,0x4e = rldimi 2, 3, 55, 5
+0x78,0x62,0xb9,0x4f = rldimi. 2, 3, 55, 5
+// 0x78,0x62,0x20,0x00 = rldicl 2, 3, 4, 0
+// 0x78,0x62,0x20,0x01 = rldicl. 2, 3, 4, 0
+// 0x78,0x62,0xe0,0x02 = rldicl 2, 3, 60, 0
+// 0x78,0x62,0xe0,0x03 = rldicl. 2, 3, 60, 0
+// 0x78,0x62,0x20,0x10 = rldcl 2, 3, 4, 0
+// 0x78,0x62,0x20,0x11 = rldcl. 2, 3, 4, 0
+0x78,0x62,0x26,0xe4 = sldi 2, 3, 4
+0x78,0x62,0x26,0xe5 = rldicr. 2, 3, 4, 59
+0x78,0x62,0xe1,0x02 = rldicl 2, 3, 60, 4
+0x78,0x62,0xe1,0x03 = rldicl. 2, 3, 60, 4
+// 0x78,0x62,0x01,0x00 = rldicl 2, 3, 0, 4
+// 0x78,0x62,0x01,0x01 = rldicl. 2, 3, 0, 4
+0x78,0x62,0x06,0xe4 = rldicr 2, 3, 0, 59
+0x78,0x62,0x06,0xe5 = rldicr. 2, 3, 0, 59
+0x78,0x62,0x20,0x48 = rldic 2, 3, 4, 1
+0x78,0x62,0x20,0x49 = rldic. 2, 3, 4, 1
+0x54,0x62,0x28,0x06 = rlwinm 2, 3, 5, 0, 3
+0x54,0x62,0x28,0x07 = rlwinm. 2, 3, 5, 0, 3
+0x54,0x62,0x4f,0x3e = rlwinm 2, 3, 9, 28, 31
+0x54,0x62,0x4f,0x3f = rlwinm. 2, 3, 9, 28, 31
+0x50,0x62,0xd9,0x50 = rlwimi 2, 3, 27, 5, 8
+0x50,0x62,0xd9,0x51 = rlwimi. 2, 3, 27, 5, 8
+0x50,0x62,0xb9,0x50 = rlwimi 2, 3, 23, 5, 8
+0x50,0x62,0xb9,0x51 = rlwimi. 2, 3, 23, 5, 8
+// 0x54,0x62,0x20,0x3e = rlwinm 2, 3, 4, 0, 31
+// 0x54,0x62,0x20,0x3f = rlwinm. 2, 3, 4, 0, 31
+// 0x54,0x62,0xe0,0x3e = rlwinm 2, 3, 28, 0, 31
+// 0x54,0x62,0xe0,0x3f = rlwinm. 2, 3, 28, 0, 31
+// 0x5c,0x62,0x20,0x3e = rlwnm 2, 3, 4, 0, 31
+// 0x5c,0x62,0x20,0x3f = rlwnm. 2, 3, 4, 0, 31
+0x54,0x62,0x20,0x36 = slwi 2, 3, 4
+0x54,0x62,0x20,0x37 = rlwinm. 2, 3, 4, 0, 27
+0x54,0x62,0xe1,0x3e = srwi 2, 3, 4
+0x54,0x62,0xe1,0x3f = rlwinm. 2, 3, 28, 4, 31
+// 0x54,0x62,0x01,0x3e = rlwinm 2, 3, 0, 4, 31
+// 0x54,0x62,0x01,0x3f = rlwinm. 2, 3, 0, 4, 31
+0x54,0x62,0x00,0x36 = rlwinm 2, 3, 0, 0, 27
+0x54,0x62,0x00,0x37 = rlwinm. 2, 3, 0, 0, 27
+0x54,0x62,0x20,0x76 = rlwinm 2, 3, 4, 1, 27
+0x54,0x62,0x20,0x77 = rlwinm. 2, 3, 4, 1, 27
+// 0x7c,0x41,0x03,0xa6 = mtspr 1, 2
+// 0x7c,0x41,0x02,0xa6 = mfspr 2, 1
+0x7c,0x48,0x03,0xa6 = mtlr 2
+0x7c,0x48,0x02,0xa6 = mflr 2
+0x7c,0x49,0x03,0xa6 = mtctr 2
+0x7c,0x49,0x02,0xa6 = mfctr 2
+0x60,0x00,0x00,0x00 = nop
+// 0x68,0x00,0x00,0x00 = xori 0, 0, 0
+0x38,0x40,0x00,0x80 = li 2, 128
+0x3c,0x40,0x00,0x80 = lis 2, 128
+0x7c,0x62,0x1b,0x78 = mr 2, 3
+0x7c,0x62,0x1b,0x79 = or. 2, 3, 3
+0x7c,0x62,0x18,0xf8 = nor 2, 3, 3
+0x7c,0x62,0x18,0xf9 = nor. 2, 3, 3
+0x7c,0x4f,0xf1,0x20 = mtcrf 255, 2
diff --git a/capstone/suite/MC/PowerPC/ppc64-encoding-fp.s.cs b/capstone/suite/MC/PowerPC/ppc64-encoding-fp.s.cs
new file mode 100644
index 000000000..ace222dc6
--- /dev/null
+++ b/capstone/suite/MC/PowerPC/ppc64-encoding-fp.s.cs
@@ -0,0 +1,110 @@
+# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
+0xc0,0x44,0x00,0x80 = lfs 2, 128(4)
+0x7c,0x43,0x24,0x2e = lfsx 2, 3, 4
+0xc4,0x44,0x00,0x80 = lfsu 2, 128(4)
+0x7c,0x43,0x24,0x6e = lfsux 2, 3, 4
+0xc8,0x44,0x00,0x80 = lfd 2, 128(4)
+0x7c,0x43,0x24,0xae = lfdx 2, 3, 4
+0xcc,0x44,0x00,0x80 = lfdu 2, 128(4)
+0x7c,0x43,0x24,0xee = lfdux 2, 3, 4
+0x7c,0x43,0x26,0xae = lfiwax 2, 3, 4
+0x7c,0x43,0x26,0xee = lfiwzx 2, 3, 4
+0xd0,0x44,0x00,0x80 = stfs 2, 128(4)
+0x7c,0x43,0x25,0x2e = stfsx 2, 3, 4
+0xd4,0x44,0x00,0x80 = stfsu 2, 128(4)
+0x7c,0x43,0x25,0x6e = stfsux 2, 3, 4
+0xd8,0x44,0x00,0x80 = stfd 2, 128(4)
+0x7c,0x43,0x25,0xae = stfdx 2, 3, 4
+0xdc,0x44,0x00,0x80 = stfdu 2, 128(4)
+0x7c,0x43,0x25,0xee = stfdux 2, 3, 4
+0x7c,0x43,0x27,0xae = stfiwx 2, 3, 4
+0xfc,0x40,0x18,0x90 = fmr 2, 3
+0xfc,0x40,0x18,0x91 = fmr. 2, 3
+0xfc,0x40,0x18,0x50 = fneg 2, 3
+0xfc,0x40,0x18,0x51 = fneg. 2, 3
+0xfc,0x40,0x1a,0x10 = fabs 2, 3
+0xfc,0x40,0x1a,0x11 = fabs. 2, 3
+0xfc,0x40,0x19,0x10 = fnabs 2, 3
+0xfc,0x40,0x19,0x11 = fnabs. 2, 3
+0xfc,0x43,0x20,0x10 = fcpsgn 2, 3, 4
+0xfc,0x43,0x20,0x11 = fcpsgn. 2, 3, 4
+0xfc,0x43,0x20,0x2a = fadd 2, 3, 4
+0xfc,0x43,0x20,0x2b = fadd. 2, 3, 4
+0xec,0x43,0x20,0x2a = fadds 2, 3, 4
+0xec,0x43,0x20,0x2b = fadds. 2, 3, 4
+0xfc,0x43,0x20,0x28 = fsub 2, 3, 4
+0xfc,0x43,0x20,0x29 = fsub. 2, 3, 4
+0xec,0x43,0x20,0x28 = fsubs 2, 3, 4
+0xec,0x43,0x20,0x29 = fsubs. 2, 3, 4
+0xfc,0x43,0x01,0x32 = fmul 2, 3, 4
+0xfc,0x43,0x01,0x33 = fmul. 2, 3, 4
+0xec,0x43,0x01,0x32 = fmuls 2, 3, 4
+0xec,0x43,0x01,0x33 = fmuls. 2, 3, 4
+0xfc,0x43,0x20,0x24 = fdiv 2, 3, 4
+0xfc,0x43,0x20,0x25 = fdiv. 2, 3, 4
+0xec,0x43,0x20,0x24 = fdivs 2, 3, 4
+0xec,0x43,0x20,0x25 = fdivs. 2, 3, 4
+0xfc,0x40,0x18,0x2c = fsqrt 2, 3
+0xfc,0x40,0x18,0x2d = fsqrt. 2, 3
+0xec,0x40,0x18,0x2c = fsqrts 2, 3
+0xec,0x40,0x18,0x2d = fsqrts. 2, 3
+0xfc,0x40,0x18,0x30 = fre 2, 3
+0xfc,0x40,0x18,0x31 = fre. 2, 3
+0xec,0x40,0x18,0x30 = fres 2, 3
+0xec,0x40,0x18,0x31 = fres. 2, 3
+0xfc,0x40,0x18,0x34 = frsqrte 2, 3
+0xfc,0x40,0x18,0x35 = frsqrte. 2, 3
+0xec,0x40,0x18,0x34 = frsqrtes 2, 3
+0xec,0x40,0x18,0x35 = frsqrtes. 2, 3
+0xfc,0x43,0x29,0x3a = fmadd 2, 3, 4, 5
+0xfc,0x43,0x29,0x3b = fmadd. 2, 3, 4, 5
+0xec,0x43,0x29,0x3a = fmadds 2, 3, 4, 5
+0xec,0x43,0x29,0x3b = fmadds. 2, 3, 4, 5
+0xfc,0x43,0x29,0x38 = fmsub 2, 3, 4, 5
+0xfc,0x43,0x29,0x39 = fmsub. 2, 3, 4, 5
+0xec,0x43,0x29,0x38 = fmsubs 2, 3, 4, 5
+0xec,0x43,0x29,0x39 = fmsubs. 2, 3, 4, 5
+0xfc,0x43,0x29,0x3e = fnmadd 2, 3, 4, 5
+0xfc,0x43,0x29,0x3f = fnmadd. 2, 3, 4, 5
+0xec,0x43,0x29,0x3e = fnmadds 2, 3, 4, 5
+0xec,0x43,0x29,0x3f = fnmadds. 2, 3, 4, 5
+0xfc,0x43,0x29,0x3c = fnmsub 2, 3, 4, 5
+0xfc,0x43,0x29,0x3d = fnmsub. 2, 3, 4, 5
+0xec,0x43,0x29,0x3c = fnmsubs 2, 3, 4, 5
+0xec,0x43,0x29,0x3d = fnmsubs. 2, 3, 4, 5
+0xfc,0x40,0x18,0x18 = frsp 2, 3
+0xfc,0x40,0x18,0x19 = frsp. 2, 3
+0xfc,0x40,0x1e,0x5c = fctid 2, 3
+0xfc,0x40,0x1e,0x5d = fctid. 2, 3
+0xfc,0x40,0x1e,0x5e = fctidz 2, 3
+0xfc,0x40,0x1e,0x5f = fctidz. 2, 3
+0xfc,0x40,0x1f,0x5e = fctiduz 2, 3
+0xfc,0x40,0x1f,0x5f = fctiduz. 2, 3
+0xfc,0x40,0x18,0x1c = fctiw 2, 3
+0xfc,0x40,0x18,0x1d = fctiw. 2, 3
+0xfc,0x40,0x18,0x1e = fctiwz 2, 3
+0xfc,0x40,0x18,0x1f = fctiwz. 2, 3
+0xfc,0x40,0x19,0x1e = fctiwuz 2, 3
+0xfc,0x40,0x19,0x1f = fctiwuz. 2, 3
+0xfc,0x40,0x1e,0x9c = fcfid 2, 3
+0xfc,0x40,0x1e,0x9d = fcfid. 2, 3
+0xfc,0x40,0x1f,0x9c = fcfidu 2, 3
+0xfc,0x40,0x1f,0x9d = fcfidu. 2, 3
+0xec,0x40,0x1e,0x9c = fcfids 2, 3
+0xec,0x40,0x1e,0x9d = fcfids. 2, 3
+0xec,0x40,0x1f,0x9c = fcfidus 2, 3
+0xec,0x40,0x1f,0x9d = fcfidus. 2, 3
+0xfc,0x40,0x1b,0x10 = frin 2, 3
+0xfc,0x40,0x1b,0x11 = frin. 2, 3
+0xfc,0x40,0x1b,0x90 = frip 2, 3
+0xfc,0x40,0x1b,0x91 = frip. 2, 3
+0xfc,0x40,0x1b,0x50 = friz 2, 3
+0xfc,0x40,0x1b,0x51 = friz. 2, 3
+0xfc,0x40,0x1b,0xd0 = frim 2, 3
+0xfc,0x40,0x1b,0xd1 = frim. 2, 3
+0xfd,0x03,0x20,0x00 = fcmpu 2, 3, 4
+0xfc,0x43,0x29,0x2e = fsel 2, 3, 4, 5
+0xfc,0x43,0x29,0x2f = fsel. 2, 3, 4, 5
+0xfc,0x40,0x04,0x8e = mffs 2
+0xff,0xe0,0x00,0x8c = mtfsb0 31
+0xff,0xe0,0x00,0x4c = mtfsb1 31
diff --git a/capstone/suite/MC/PowerPC/ppc64-encoding-vmx.s.cs b/capstone/suite/MC/PowerPC/ppc64-encoding-vmx.s.cs
new file mode 100644
index 000000000..087c082d4
--- /dev/null
+++ b/capstone/suite/MC/PowerPC/ppc64-encoding-vmx.s.cs
@@ -0,0 +1,170 @@
+# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
+0x7c,0x43,0x20,0x0e = lvebx 2, 3, 4
+0x7c,0x43,0x20,0x4e = lvehx 2, 3, 4
+0x7c,0x43,0x20,0x8e = lvewx 2, 3, 4
+0x7c,0x43,0x20,0xce = lvx 2, 3, 4
+0x7c,0x43,0x22,0xce = lvxl 2, 3, 4
+0x7c,0x43,0x21,0x0e = stvebx 2, 3, 4
+0x7c,0x43,0x21,0x4e = stvehx 2, 3, 4
+0x7c,0x43,0x21,0x8e = stvewx 2, 3, 4
+0x7c,0x43,0x21,0xce = stvx 2, 3, 4
+0x7c,0x43,0x23,0xce = stvxl 2, 3, 4
+0x7c,0x43,0x20,0x0c = lvsl 2, 3, 4
+0x7c,0x43,0x20,0x4c = lvsr 2, 3, 4
+0x10,0x43,0x23,0x0e = vpkpx 2, 3, 4
+0x10,0x43,0x21,0x8e = vpkshss 2, 3, 4
+0x10,0x43,0x21,0x0e = vpkshus 2, 3, 4
+0x10,0x43,0x21,0xce = vpkswss 2, 3, 4
+0x10,0x43,0x21,0x4e = vpkswus 2, 3, 4
+0x10,0x43,0x20,0x0e = vpkuhum 2, 3, 4
+0x10,0x43,0x20,0x8e = vpkuhus 2, 3, 4
+0x10,0x43,0x20,0x4e = vpkuwum 2, 3, 4
+0x10,0x43,0x20,0xce = vpkuwus 2, 3, 4
+0x10,0x40,0x1b,0x4e = vupkhpx 2, 3
+0x10,0x40,0x1a,0x0e = vupkhsb 2, 3
+0x10,0x40,0x1a,0x4e = vupkhsh 2, 3
+0x10,0x40,0x1b,0xce = vupklpx 2, 3
+0x10,0x40,0x1a,0x8e = vupklsb 2, 3
+0x10,0x40,0x1a,0xce = vupklsh 2, 3
+0x10,0x43,0x20,0x0c = vmrghb 2, 3, 4
+0x10,0x43,0x20,0x4c = vmrghh 2, 3, 4
+0x10,0x43,0x20,0x8c = vmrghw 2, 3, 4
+0x10,0x43,0x21,0x0c = vmrglb 2, 3, 4
+0x10,0x43,0x21,0x4c = vmrglh 2, 3, 4
+0x10,0x43,0x21,0x8c = vmrglw 2, 3, 4
+0x10,0x41,0x1a,0x0c = vspltb 2, 3, 1
+0x10,0x41,0x1a,0x4c = vsplth 2, 3, 1
+0x10,0x41,0x1a,0x8c = vspltw 2, 3, 1
+0x10,0x43,0x03,0x0c = vspltisb 2, 3
+0x10,0x43,0x03,0x4c = vspltish 2, 3
+0x10,0x43,0x03,0x8c = vspltisw 2, 3
+0x10,0x43,0x21,0x6b = vperm 2, 3, 4, 5
+0x10,0x43,0x21,0x6a = vsel 2, 3, 4, 5
+0x10,0x43,0x21,0xc4 = vsl 2, 3, 4
+0x10,0x43,0x21,0x6c = vsldoi 2, 3, 4, 5
+0x10,0x43,0x24,0x0c = vslo 2, 3, 4
+0x10,0x43,0x22,0xc4 = vsr 2, 3, 4
+0x10,0x43,0x24,0x4c = vsro 2, 3, 4
+0x10,0x43,0x21,0x80 = vaddcuw 2, 3, 4
+0x10,0x43,0x23,0x00 = vaddsbs 2, 3, 4
+0x10,0x43,0x23,0x40 = vaddshs 2, 3, 4
+0x10,0x43,0x23,0x80 = vaddsws 2, 3, 4
+0x10,0x43,0x20,0x00 = vaddubm 2, 3, 4
+0x10,0x43,0x20,0x40 = vadduhm 2, 3, 4
+0x10,0x43,0x20,0x80 = vadduwm 2, 3, 4
+0x10,0x43,0x22,0x00 = vaddubs 2, 3, 4
+0x10,0x43,0x22,0x40 = vadduhs 2, 3, 4
+0x10,0x43,0x22,0x80 = vadduws 2, 3, 4
+0x10,0x43,0x25,0x80 = vsubcuw 2, 3, 4
+0x10,0x43,0x27,0x00 = vsubsbs 2, 3, 4
+0x10,0x43,0x27,0x40 = vsubshs 2, 3, 4
+0x10,0x43,0x27,0x80 = vsubsws 2, 3, 4
+0x10,0x43,0x24,0x00 = vsububm 2, 3, 4
+0x10,0x43,0x24,0x40 = vsubuhm 2, 3, 4
+0x10,0x43,0x24,0x80 = vsubuwm 2, 3, 4
+0x10,0x43,0x26,0x00 = vsububs 2, 3, 4
+0x10,0x43,0x26,0x40 = vsubuhs 2, 3, 4
+0x10,0x43,0x26,0x80 = vsubuws 2, 3, 4
+0x10,0x43,0x23,0x08 = vmulesb 2, 3, 4
+0x10,0x43,0x23,0x48 = vmulesh 2, 3, 4
+0x10,0x43,0x22,0x08 = vmuleub 2, 3, 4
+0x10,0x43,0x22,0x48 = vmuleuh 2, 3, 4
+0x10,0x43,0x21,0x08 = vmulosb 2, 3, 4
+0x10,0x43,0x21,0x48 = vmulosh 2, 3, 4
+0x10,0x43,0x20,0x08 = vmuloub 2, 3, 4
+0x10,0x43,0x20,0x48 = vmulouh 2, 3, 4
+0x10,0x43,0x21,0x60 = vmhaddshs 2, 3, 4, 5
+0x10,0x43,0x21,0x61 = vmhraddshs 2, 3, 4, 5
+0x10,0x43,0x21,0x62 = vmladduhm 2, 3, 4, 5
+0x10,0x43,0x21,0x64 = vmsumubm 2, 3, 4, 5
+0x10,0x43,0x21,0x65 = vmsummbm 2, 3, 4, 5
+0x10,0x43,0x21,0x68 = vmsumshm 2, 3, 4, 5
+0x10,0x43,0x21,0x69 = vmsumshs 2, 3, 4, 5
+0x10,0x43,0x21,0x66 = vmsumuhm 2, 3, 4, 5
+0x10,0x43,0x21,0x67 = vmsumuhs 2, 3, 4, 5
+0x10,0x43,0x27,0x88 = vsumsws 2, 3, 4
+0x10,0x43,0x26,0x88 = vsum2sws 2, 3, 4
+0x10,0x43,0x27,0x08 = vsum4sbs 2, 3, 4
+0x10,0x43,0x26,0x48 = vsum4shs 2, 3, 4
+0x10,0x43,0x26,0x08 = vsum4ubs 2, 3, 4
+0x10,0x43,0x25,0x02 = vavgsb 2, 3, 4
+0x10,0x43,0x25,0x42 = vavgsh 2, 3, 4
+0x10,0x43,0x25,0x82 = vavgsw 2, 3, 4
+0x10,0x43,0x24,0x02 = vavgub 2, 3, 4
+0x10,0x43,0x24,0x42 = vavguh 2, 3, 4
+0x10,0x43,0x24,0x82 = vavguw 2, 3, 4
+0x10,0x43,0x21,0x02 = vmaxsb 2, 3, 4
+0x10,0x43,0x21,0x42 = vmaxsh 2, 3, 4
+0x10,0x43,0x21,0x82 = vmaxsw 2, 3, 4
+0x10,0x43,0x20,0x02 = vmaxub 2, 3, 4
+0x10,0x43,0x20,0x42 = vmaxuh 2, 3, 4
+0x10,0x43,0x20,0x82 = vmaxuw 2, 3, 4
+0x10,0x43,0x23,0x02 = vminsb 2, 3, 4
+0x10,0x43,0x23,0x42 = vminsh 2, 3, 4
+0x10,0x43,0x23,0x82 = vminsw 2, 3, 4
+0x10,0x43,0x22,0x02 = vminub 2, 3, 4
+0x10,0x43,0x22,0x42 = vminuh 2, 3, 4
+0x10,0x43,0x22,0x82 = vminuw 2, 3, 4
+0x10,0x43,0x20,0x06 = vcmpequb 2, 3, 4
+0x10,0x43,0x24,0x06 = vcmpequb. 2, 3, 4
+0x10,0x43,0x20,0x46 = vcmpequh 2, 3, 4
+0x10,0x43,0x24,0x46 = vcmpequh. 2, 3, 4
+0x10,0x43,0x20,0x86 = vcmpequw 2, 3, 4
+0x10,0x43,0x24,0x86 = vcmpequw. 2, 3, 4
+0x10,0x43,0x23,0x06 = vcmpgtsb 2, 3, 4
+0x10,0x43,0x27,0x06 = vcmpgtsb. 2, 3, 4
+0x10,0x43,0x23,0x46 = vcmpgtsh 2, 3, 4
+0x10,0x43,0x27,0x46 = vcmpgtsh. 2, 3, 4
+0x10,0x43,0x23,0x86 = vcmpgtsw 2, 3, 4
+0x10,0x43,0x27,0x86 = vcmpgtsw. 2, 3, 4
+0x10,0x43,0x22,0x06 = vcmpgtub 2, 3, 4
+0x10,0x43,0x26,0x06 = vcmpgtub. 2, 3, 4
+0x10,0x43,0x22,0x46 = vcmpgtuh 2, 3, 4
+0x10,0x43,0x26,0x46 = vcmpgtuh. 2, 3, 4
+0x10,0x43,0x22,0x86 = vcmpgtuw 2, 3, 4
+0x10,0x43,0x26,0x86 = vcmpgtuw. 2, 3, 4
+0x10,0x43,0x24,0x04 = vand 2, 3, 4
+0x10,0x43,0x24,0x44 = vandc 2, 3, 4
+0x10,0x43,0x25,0x04 = vnor 2, 3, 4
+0x10,0x43,0x24,0x84 = vor 2, 3, 4
+0x10,0x43,0x24,0xc4 = vxor 2, 3, 4
+0x10,0x43,0x20,0x04 = vrlb 2, 3, 4
+0x10,0x43,0x20,0x44 = vrlh 2, 3, 4
+0x10,0x43,0x20,0x84 = vrlw 2, 3, 4
+0x10,0x43,0x21,0x04 = vslb 2, 3, 4
+0x10,0x43,0x21,0x44 = vslh 2, 3, 4
+0x10,0x43,0x21,0x84 = vslw 2, 3, 4
+0x10,0x43,0x22,0x04 = vsrb 2, 3, 4
+0x10,0x43,0x22,0x44 = vsrh 2, 3, 4
+0x10,0x43,0x22,0x84 = vsrw 2, 3, 4
+0x10,0x43,0x23,0x04 = vsrab 2, 3, 4
+0x10,0x43,0x23,0x44 = vsrah 2, 3, 4
+0x10,0x43,0x23,0x84 = vsraw 2, 3, 4
+0x10,0x43,0x20,0x0a = vaddfp 2, 3, 4
+0x10,0x43,0x20,0x4a = vsubfp 2, 3, 4
+0x10,0x43,0x29,0x2e = vmaddfp 2, 3, 4, 5
+0x10,0x43,0x29,0x2f = vnmsubfp 2, 3, 4, 5
+0x10,0x43,0x24,0x0a = vmaxfp 2, 3, 4
+0x10,0x43,0x24,0x4a = vminfp 2, 3, 4
+0x10,0x44,0x1b,0xca = vctsxs 2, 3, 4
+0x10,0x44,0x1b,0x8a = vctuxs 2, 3, 4
+0x10,0x44,0x1b,0x4a = vcfsx 2, 3, 4
+0x10,0x44,0x1b,0x0a = vcfux 2, 3, 4
+0x10,0x40,0x1a,0xca = vrfim 2, 3
+0x10,0x40,0x1a,0x0a = vrfin 2, 3
+0x10,0x40,0x1a,0x8a = vrfip 2, 3
+0x10,0x40,0x1a,0x4a = vrfiz 2, 3
+0x10,0x43,0x23,0xc6 = vcmpbfp 2, 3, 4
+0x10,0x43,0x27,0xc6 = vcmpbfp. 2, 3, 4
+0x10,0x43,0x20,0xc6 = vcmpeqfp 2, 3, 4
+0x10,0x43,0x24,0xc6 = vcmpeqfp. 2, 3, 4
+0x10,0x43,0x21,0xc6 = vcmpgefp 2, 3, 4
+0x10,0x43,0x25,0xc6 = vcmpgefp. 2, 3, 4
+0x10,0x43,0x22,0xc6 = vcmpgtfp 2, 3, 4
+0x10,0x43,0x26,0xc6 = vcmpgtfp. 2, 3, 4
+0x10,0x40,0x19,0x8a = vexptefp 2, 3
+0x10,0x40,0x19,0xca = vlogefp 2, 3
+0x10,0x40,0x19,0x0a = vrefp 2, 3
+0x10,0x40,0x19,0x4a = vrsqrtefp 2, 3
+0x10,0x00,0x16,0x44 = mtvscr 2
+0x10,0x40,0x06,0x04 = mfvscr 2
diff --git a/capstone/suite/MC/PowerPC/ppc64-encoding.s.cs b/capstone/suite/MC/PowerPC/ppc64-encoding.s.cs
new file mode 100644
index 000000000..8d6879368
--- /dev/null
+++ b/capstone/suite/MC/PowerPC/ppc64-encoding.s.cs
@@ -0,0 +1,202 @@
+# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, None
+// 0x4c,0x8a,0x18,0x20 = bclr 4, 10, 3
+// 0x4c,0x8a,0x00,0x20 = bclr 4, 10, 0
+// 0x4c,0x8a,0x18,0x21 = bclrl 4, 10, 3
+// 0x4c,0x8a,0x00,0x21 = bclrl 4, 10, 0
+// 0x4c,0x8a,0x1c,0x20 = bcctr 4, 10, 3
+// 0x4c,0x8a,0x04,0x20 = bcctr 4, 10, 0
+// 0x4c,0x8a,0x1c,0x21 = bcctrl 4, 10, 3
+// 0x4c,0x8a,0x04,0x21 = bcctrl 4, 10, 0
+0x4c,0x43,0x22,0x02 = crand cr0eq, cr0un, cr1lt
+0x4c,0x43,0x21,0xc2 = crnand cr0eq, cr0un, cr1lt
+0x4c,0x43,0x23,0x82 = cror cr0eq, cr0un, cr1lt
+0x4c,0x43,0x21,0x82 = crxor cr0eq, cr0un, cr1lt
+0x4c,0x43,0x20,0x42 = crnor cr0eq, cr0un, cr1lt
+0x4c,0x43,0x22,0x42 = creqv cr0eq, cr0un, cr1lt
+0x4c,0x43,0x21,0x02 = crandc cr0eq, cr0un, cr1lt
+0x4c,0x43,0x23,0x42 = crorc cr0eq, cr0un, cr1lt
+0x4d,0x0c,0x00,0x00 = mcrf 2, 3
+0x44,0x00,0x00,0x22 = sc 1
+// 0x44,0x00,0x00,0x02 = sc 0
+0x88,0x44,0x00,0x80 = lbz 2, 128(4)
+0x7c,0x43,0x20,0xae = lbzx 2, 3, 4
+0x8c,0x44,0x00,0x80 = lbzu 2, 128(4)
+0x7c,0x43,0x20,0xee = lbzux 2, 3, 4
+0xa0,0x44,0x00,0x80 = lhz 2, 128(4)
+0x7c,0x43,0x22,0x2e = lhzx 2, 3, 4
+0xa4,0x44,0x00,0x80 = lhzu 2, 128(4)
+0x7c,0x43,0x22,0x6e = lhzux 2, 3, 4
+0xa8,0x44,0x00,0x80 = lha 2, 128(4)
+0x7c,0x43,0x22,0xae = lhax 2, 3, 4
+0xac,0x44,0x00,0x80 = lhau 2, 128(4)
+0x7c,0x43,0x22,0xee = lhaux 2, 3, 4
+0x80,0x44,0x00,0x80 = lwz 2, 128(4)
+0x7c,0x43,0x20,0x2e = lwzx 2, 3, 4
+0x84,0x44,0x00,0x80 = lwzu 2, 128(4)
+0x7c,0x43,0x20,0x6e = lwzux 2, 3, 4
+0xe8,0x44,0x00,0x82 = lwa 2, 128(4)
+0x7c,0x43,0x22,0xaa = lwax 2, 3, 4
+0x7c,0x43,0x22,0xea = lwaux 2, 3, 4
+0xe8,0x44,0x00,0x80 = ld 2, 128(4)
+0x7c,0x43,0x20,0x2a = ldx 2, 3, 4
+0xe8,0x44,0x00,0x81 = ldu 2, 128(4)
+0x7c,0x43,0x20,0x6a = ldux 2, 3, 4
+0x98,0x44,0x00,0x80 = stb 2, 128(4)
+0x7c,0x43,0x21,0xae = stbx 2, 3, 4
+0x9c,0x44,0x00,0x80 = stbu 2, 128(4)
+0x7c,0x43,0x21,0xee = stbux 2, 3, 4
+0xb0,0x44,0x00,0x80 = sth 2, 128(4)
+0x7c,0x43,0x23,0x2e = sthx 2, 3, 4
+0xb4,0x44,0x00,0x80 = sthu 2, 128(4)
+0x7c,0x43,0x23,0x6e = sthux 2, 3, 4
+0x90,0x44,0x00,0x80 = stw 2, 128(4)
+0x7c,0x43,0x21,0x2e = stwx 2, 3, 4
+0x94,0x44,0x00,0x80 = stwu 2, 128(4)
+0x7c,0x43,0x21,0x6e = stwux 2, 3, 4
+0xf8,0x44,0x00,0x80 = std 2, 128(4)
+0x7c,0x43,0x21,0x2a = stdx 2, 3, 4
+0xf8,0x44,0x00,0x81 = stdu 2, 128(4)
+0x7c,0x43,0x21,0x6a = stdux 2, 3, 4
+0x7c,0x43,0x26,0x2c = lhbrx 2, 3, 4
+0x7c,0x43,0x27,0x2c = sthbrx 2, 3, 4
+0x7c,0x43,0x24,0x2c = lwbrx 2, 3, 4
+0x7c,0x43,0x25,0x2c = stwbrx 2, 3, 4
+0x7c,0x43,0x24,0x28 = ldbrx 2, 3, 4
+0x7c,0x43,0x25,0x28 = stdbrx 2, 3, 4
+0xb8,0x41,0x00,0x80 = lmw 2, 128(1)
+0xbc,0x41,0x00,0x80 = stmw 2, 128(1)
+0x38,0x43,0x00,0x80 = addi 2, 3, 128
+0x3c,0x43,0x00,0x80 = addis 2, 3, 128
+0x7c,0x43,0x22,0x14 = add 2, 3, 4
+0x7c,0x43,0x22,0x15 = add. 2, 3, 4
+0x7c,0x43,0x20,0x50 = subf 2, 3, 4
+0x7c,0x43,0x20,0x51 = subf. 2, 3, 4
+0x30,0x43,0x00,0x80 = addic 2, 3, 128
+0x34,0x43,0x00,0x80 = addic. 2, 3, 128
+0x20,0x43,0x00,0x04 = subfic 2, 3, 4
+0x7c,0x43,0x20,0x14 = addc 2, 3, 4
+0x7c,0x43,0x20,0x15 = addc. 2, 3, 4
+0x7c,0x43,0x20,0x10 = subfc 2, 3, 4
+0x7c,0x43,0x20,0x10 = subfc 2, 3, 4
+0x7c,0x43,0x21,0x14 = adde 2, 3, 4
+0x7c,0x43,0x21,0x15 = adde. 2, 3, 4
+0x7c,0x43,0x21,0x10 = subfe 2, 3, 4
+0x7c,0x43,0x21,0x11 = subfe. 2, 3, 4
+0x7c,0x43,0x01,0xd4 = addme 2, 3
+0x7c,0x43,0x01,0xd5 = addme. 2, 3
+0x7c,0x43,0x01,0xd0 = subfme 2, 3
+0x7c,0x43,0x01,0xd1 = subfme. 2, 3
+0x7c,0x43,0x01,0x94 = addze 2, 3
+0x7c,0x43,0x01,0x95 = addze. 2, 3
+0x7c,0x43,0x01,0x90 = subfze 2, 3
+0x7c,0x43,0x01,0x91 = subfze. 2, 3
+0x7c,0x43,0x00,0xd0 = neg 2, 3
+0x7c,0x43,0x00,0xd1 = neg. 2, 3
+0x1c,0x43,0x00,0x80 = mulli 2, 3, 128
+0x7c,0x43,0x20,0x96 = mulhw 2, 3, 4
+0x7c,0x43,0x20,0x97 = mulhw. 2, 3, 4
+0x7c,0x43,0x21,0xd6 = mullw 2, 3, 4
+0x7c,0x43,0x21,0xd7 = mullw. 2, 3, 4
+0x7c,0x43,0x20,0x16 = mulhwu 2, 3, 4
+0x7c,0x43,0x20,0x17 = mulhwu. 2, 3, 4
+0x7c,0x43,0x23,0xd6 = divw 2, 3, 4
+0x7c,0x43,0x23,0xd7 = divw. 2, 3, 4
+0x7c,0x43,0x23,0x96 = divwu 2, 3, 4
+0x7c,0x43,0x23,0x97 = divwu. 2, 3, 4
+0x7c,0x43,0x21,0xd2 = mulld 2, 3, 4
+0x7c,0x43,0x21,0xd3 = mulld. 2, 3, 4
+0x7c,0x43,0x20,0x92 = mulhd 2, 3, 4
+0x7c,0x43,0x20,0x93 = mulhd. 2, 3, 4
+0x7c,0x43,0x20,0x12 = mulhdu 2, 3, 4
+0x7c,0x43,0x20,0x13 = mulhdu. 2, 3, 4
+0x7c,0x43,0x23,0xd2 = divd 2, 3, 4
+0x7c,0x43,0x23,0xd3 = divd. 2, 3, 4
+0x7c,0x43,0x23,0x92 = divdu 2, 3, 4
+0x7c,0x43,0x23,0x93 = divdu. 2, 3, 4
+0x2d,0x23,0x00,0x80 = cmpdi 2, 3, 128
+0x7d,0x23,0x20,0x00 = cmpd 2, 3, 4
+0x29,0x23,0x00,0x80 = cmpldi 2, 3, 128
+0x7d,0x23,0x20,0x40 = cmpld 2, 3, 4
+0x2d,0x03,0x00,0x80 = cmpwi 2, 3, 128
+0x7d,0x03,0x20,0x00 = cmpw 2, 3, 4
+0x29,0x03,0x00,0x80 = cmplwi 2, 3, 128
+0x7d,0x03,0x20,0x40 = cmplw 2, 3, 4
+// 0x0c,0x43,0x00,0x04 = twi 2, 3, 4
+// 0x7c,0x43,0x20,0x08 = tw 2, 3, 4
+// 0x08,0x43,0x00,0x04 = tdi 2, 3, 4
+// 0x7c,0x43,0x20,0x88 = td 2, 3, 4
+0x7c,0x43,0x21,0x5e = isel r2, r3, r4, cr1gt
+0x70,0x62,0x00,0x80 = andi. 2, 3, 128
+0x74,0x62,0x00,0x80 = andis. 2, 3, 128
+0x60,0x62,0x00,0x80 = ori 2, 3, 128
+0x64,0x62,0x00,0x80 = oris 2, 3, 128
+0x68,0x62,0x00,0x80 = xori 2, 3, 128
+0x6c,0x62,0x00,0x80 = xoris 2, 3, 128
+0x7c,0x62,0x20,0x38 = and 2, 3, 4
+0x7c,0x62,0x20,0x39 = and. 2, 3, 4
+0x7c,0x62,0x22,0x78 = xor 2, 3, 4
+0x7c,0x62,0x22,0x79 = xor. 2, 3, 4
+0x7c,0x62,0x23,0xb8 = nand 2, 3, 4
+0x7c,0x62,0x23,0xb9 = nand. 2, 3, 4
+0x7c,0x62,0x23,0x78 = or 2, 3, 4
+0x7c,0x62,0x23,0x79 = or. 2, 3, 4
+0x7c,0x62,0x20,0xf8 = nor 2, 3, 4
+0x7c,0x62,0x20,0xf9 = nor. 2, 3, 4
+0x7c,0x62,0x22,0x38 = eqv 2, 3, 4
+0x7c,0x62,0x22,0x39 = eqv. 2, 3, 4
+0x7c,0x62,0x20,0x78 = andc 2, 3, 4
+0x7c,0x62,0x20,0x79 = andc. 2, 3, 4
+0x7c,0x62,0x23,0x38 = orc 2, 3, 4
+0x7c,0x62,0x23,0x39 = orc. 2, 3, 4
+0x7c,0x62,0x07,0x74 = extsb 2, 3
+0x7c,0x62,0x07,0x75 = extsb. 2, 3
+0x7c,0x62,0x07,0x34 = extsh 2, 3
+0x7c,0x62,0x07,0x35 = extsh. 2, 3
+// 0x7c,0x62,0x00,0x34 = cntlzw 2, 3
+// 0x7c,0x62,0x00,0x35 = cntlzw. 2, 3
+0x7c,0x62,0x02,0xf4 = popcntw 2, 3
+0x7c,0x62,0x07,0xb4 = extsw 2, 3
+0x7c,0x62,0x07,0xb5 = extsw. 2, 3
+0x7c,0x62,0x00,0x74 = cntlzd 2, 3
+0x7c,0x62,0x00,0x75 = cntlzd. 2, 3
+0x7c,0x62,0x03,0xf4 = popcntd 2, 3
+0x54,0x62,0x21,0x4c = rlwinm 2, 3, 4, 5, 6
+0x54,0x62,0x21,0x4d = rlwinm. 2, 3, 4, 5, 6
+0x5c,0x62,0x21,0x4c = rlwnm 2, 3, 4, 5, 6
+0x5c,0x62,0x21,0x4d = rlwnm. 2, 3, 4, 5, 6
+0x50,0x62,0x21,0x4c = rlwimi 2, 3, 4, 5, 6
+0x50,0x62,0x21,0x4d = rlwimi. 2, 3, 4, 5, 6
+0x78,0x62,0x21,0x40 = rldicl 2, 3, 4, 5
+0x78,0x62,0x21,0x41 = rldicl. 2, 3, 4, 5
+0x78,0x62,0x21,0x44 = rldicr 2, 3, 4, 5
+0x78,0x62,0x21,0x45 = rldicr. 2, 3, 4, 5
+0x78,0x62,0x21,0x48 = rldic 2, 3, 4, 5
+0x78,0x62,0x21,0x49 = rldic. 2, 3, 4, 5
+0x78,0x62,0x21,0x50 = rldcl 2, 3, 4, 5
+0x78,0x62,0x21,0x51 = rldcl. 2, 3, 4, 5
+0x78,0x62,0x21,0x52 = rldcr 2, 3, 4, 5
+0x78,0x62,0x21,0x53 = rldcr. 2, 3, 4, 5
+0x78,0x62,0x21,0x4c = rldimi 2, 3, 4, 5
+0x78,0x62,0x21,0x4d = rldimi. 2, 3, 4, 5
+0x7c,0x62,0x20,0x30 = slw 2, 3, 4
+0x7c,0x62,0x20,0x31 = slw. 2, 3, 4
+0x7c,0x62,0x24,0x30 = srw 2, 3, 4
+0x7c,0x62,0x24,0x31 = srw. 2, 3, 4
+0x7c,0x62,0x26,0x70 = srawi 2, 3, 4
+0x7c,0x62,0x26,0x71 = srawi. 2, 3, 4
+0x7c,0x62,0x26,0x30 = sraw 2, 3, 4
+0x7c,0x62,0x26,0x31 = sraw. 2, 3, 4
+0x7c,0x62,0x20,0x36 = sld 2, 3, 4
+0x7c,0x62,0x20,0x37 = sld. 2, 3, 4
+0x7c,0x62,0x24,0x36 = srd 2, 3, 4
+0x7c,0x62,0x24,0x37 = srd. 2, 3, 4
+0x7c,0x62,0x26,0x74 = sradi 2, 3, 4
+0x7c,0x62,0x26,0x75 = sradi. 2, 3, 4
+0x7c,0x62,0x26,0x34 = srad 2, 3, 4
+0x7c,0x62,0x26,0x35 = srad. 2, 3, 4
+0x7c,0x58,0x93,0xa6 = mtspr 600, 2
+0x7c,0x58,0x92,0xa6 = mfspr 2, 600
+0x7c,0x47,0xb1,0x20 = mtcrf 123, 2
+0x7c,0x40,0x00,0x26 = mfcr 2
+0x7c,0x51,0x01,0x20 = mtocrf 16, 2
+0x7e,0x10,0x80,0x26 = mfocrf 16, 8
diff --git a/capstone/suite/MC/PowerPC/ppc64-operands.s.cs b/capstone/suite/MC/PowerPC/ppc64-operands.s.cs
new file mode 100644
index 000000000..f4d352704
--- /dev/null
+++ b/capstone/suite/MC/PowerPC/ppc64-operands.s.cs
@@ -0,0 +1,31 @@
+# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
+0x7c,0x22,0x1a,0x14 = add 1, 2, 3
+0x7c,0x22,0x1a,0x14 = add 1, 2, 3
+0x7c,0x00,0x02,0x14 = add 0, 0, 0
+0x7f,0xff,0xfa,0x14 = add 31, 31, 31
+0x38,0x20,0x00,0x00 = li 1, 0
+0x38,0x22,0x00,0x00 = addi 1, 2, 0
+0x38,0x20,0x80,0x00 = li 1, -0x8000
+0x38,0x20,0x7f,0xff = li 1, 0x7fff
+0x60,0x41,0x00,0x00 = ori 1, 2, 0
+0x60,0x41,0xff,0xff = ori 1, 2, 65535
+0x3c,0x20,0x00,0x00 = lis 1, 0
+0x3c,0x20,0xff,0xff = lis 1, -1
+0x80,0x20,0x00,0x00 = lwz 1, 0(0)
+0x80,0x20,0x00,0x00 = lwz 1, 0(0)
+0x80,0x3f,0x00,0x00 = lwz 1, 0(31)
+0x80,0x3f,0x00,0x00 = lwz 1, 0(31)
+0x80,0x22,0x80,0x00 = lwz 1, -32768(2)
+0x80,0x22,0x7f,0xff = lwz 1, 32767(2)
+0xe8,0x20,0x00,0x00 = ld 1, 0(0)
+0xe8,0x20,0x00,0x00 = ld 1, 0(0)
+0xe8,0x3f,0x00,0x00 = ld 1, 0(31)
+0xe8,0x3f,0x00,0x00 = ld 1, 0(31)
+0xe8,0x22,0x80,0x00 = ld 1, -32768(2)
+0xe8,0x22,0x7f,0xfc = ld 1, 32764(2)
+0xe8,0x22,0x00,0x04 = ld 1, 4(2)
+0xe8,0x22,0xff,0xfc = ld 1, -4(2)
+// 0x48,0x00,0x04,0x00 = b .+1024
+0x48,0x00,0x04,0x02 = ba 1024
+// 0x41,0x82,0x04,0x00 = beq 0, .+1024
+// 0x41,0x82,0x04,0x02 = beqa 0, 1024