Nguyen Anh Quynh | dd40750 | 2014-01-19 23:51:34 +0800 | [diff] [blame] | 1 | #ifndef CAPSTONE_PPC_H |
| 2 | #define CAPSTONE_PPC_H |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 3 | |
Nguyen Anh Quynh | 7751fbe | 2014-04-28 11:23:14 +0800 | [diff] [blame] | 4 | /* Capstone Disassembly Engine */ |
| 5 | /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */ |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 6 | |
| 7 | #ifdef __cplusplus |
| 8 | extern "C" { |
| 9 | #endif |
| 10 | |
| 11 | #include <stdint.h> |
Nguyen Anh Quynh | cb59106 | 2014-05-15 21:51:02 +0800 | [diff] [blame] | 12 | #include "platform.h" |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 13 | |
Alex Ionescu | 46018db | 2014-01-22 09:45:00 -0800 | [diff] [blame] | 14 | #ifdef _MSC_VER |
| 15 | #pragma warning(disable:4201) |
| 16 | #endif |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 17 | |
Nguyen Anh Quynh | 0b4c123 | 2014-01-02 12:02:59 +0800 | [diff] [blame] | 18 | //> PPC branch codes for some branch instructions |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 19 | typedef enum ppc_bc { |
Nguyen Anh Quynh | dfc94e1 | 2014-07-10 08:01:02 +0800 | [diff] [blame] | 20 | PPC_BC_INVALID = 0, |
Nguyen Anh Quynh | 25dc23d | 2014-03-10 00:22:02 +0800 | [diff] [blame] | 21 | PPC_BC_LT = (0 << 5) | 12, |
| 22 | PPC_BC_LE = (1 << 5) | 4, |
| 23 | PPC_BC_EQ = (2 << 5) | 12, |
| 24 | PPC_BC_GE = (0 << 5) | 4, |
| 25 | PPC_BC_GT = (1 << 5) | 12, |
| 26 | PPC_BC_NE = (2 << 5) | 4, |
| 27 | PPC_BC_UN = (3 << 5) | 12, |
| 28 | PPC_BC_NU = (3 << 5) | 4, |
Nguyen Anh Quynh | 7e57e79 | 2014-09-21 13:04:50 +0800 | [diff] [blame] | 29 | |
| 30 | // extra conditions |
| 31 | PPC_BC_SO = 4 << 5, // summary overflow |
| 32 | PPC_BC_NS = 4 << 5, // not summary overflow |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 33 | } ppc_bc; |
| 34 | |
Nguyen Anh Quynh | af6ca7e | 2014-01-05 01:05:22 +0800 | [diff] [blame] | 35 | //> PPC branch hint for some branch instructions |
| 36 | typedef enum ppc_bh { |
Nguyen Anh Quynh | 994f336 | 2014-07-10 11:46:11 +0800 | [diff] [blame] | 37 | PPC_BH_INVALID = 0, // no hint |
Nguyen Anh Quynh | af6ca7e | 2014-01-05 01:05:22 +0800 | [diff] [blame] | 38 | PPC_BH_PLUS, // PLUS hint |
| 39 | PPC_BH_MINUS, // MINUS hint |
| 40 | } ppc_bh; |
| 41 | |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 42 | //> Operand type for instruction's operands |
| 43 | typedef enum ppc_op_type { |
| 44 | PPC_OP_INVALID = 0, // Uninitialized. |
| 45 | PPC_OP_REG, // Register operand. |
| 46 | PPC_OP_IMM, // Immediate operand. |
| 47 | PPC_OP_MEM, // Memory operand |
| 48 | } ppc_op_type; |
| 49 | |
| 50 | // Instruction's operand referring to memory |
| 51 | // This is associated with PPC_OP_MEM operand type above |
| 52 | typedef struct ppc_op_mem { |
| 53 | unsigned int base; // base register |
Nguyen Anh Quynh | 0b4c123 | 2014-01-02 12:02:59 +0800 | [diff] [blame] | 54 | int32_t disp; // displacement/offset value |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 55 | } ppc_op_mem; |
| 56 | |
| 57 | // Instruction operand |
| 58 | typedef struct cs_ppc_op { |
| 59 | ppc_op_type type; // operand type |
| 60 | union { |
| 61 | unsigned int reg; // register value for REG operand |
Nguyen Anh Quynh | 448648f | 2014-03-09 00:28:36 +0800 | [diff] [blame] | 62 | int32_t imm; // immediate value for IMM operand |
Nguyen Anh Quynh | 0b4c123 | 2014-01-02 12:02:59 +0800 | [diff] [blame] | 63 | ppc_op_mem mem; // base/disp value for MEM operand |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 64 | }; |
| 65 | } cs_ppc_op; |
| 66 | |
| 67 | // Instruction structure |
| 68 | typedef struct cs_ppc { |
| 69 | // branch code for branch instructions |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 70 | ppc_bc bc; |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 71 | |
Nguyen Anh Quynh | af6ca7e | 2014-01-05 01:05:22 +0800 | [diff] [blame] | 72 | // branch hint for branch instructions |
| 73 | ppc_bh bh; |
| 74 | |
| 75 | // if update_cr0 = True, then this 'dot' insn updates CR0 |
Nguyen Anh Quynh | 0b4c123 | 2014-01-02 12:02:59 +0800 | [diff] [blame] | 76 | bool update_cr0; |
| 77 | |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 78 | // Number of operands of this instruction, |
| 79 | // or 0 when instruction has no operand. |
| 80 | uint8_t op_count; |
| 81 | cs_ppc_op operands[8]; // operands for this instruction. |
| 82 | } cs_ppc; |
| 83 | |
| 84 | //> PPC registers |
| 85 | typedef enum ppc_reg { |
| 86 | PPC_REG_INVALID = 0, |
Nguyen Anh Quynh | 0b4c123 | 2014-01-02 12:02:59 +0800 | [diff] [blame] | 87 | |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 88 | PPC_REG_CARRY, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 89 | PPC_REG_CC, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 90 | PPC_REG_CR0, |
| 91 | PPC_REG_CR1, |
| 92 | PPC_REG_CR2, |
| 93 | PPC_REG_CR3, |
| 94 | PPC_REG_CR4, |
| 95 | PPC_REG_CR5, |
| 96 | PPC_REG_CR6, |
| 97 | PPC_REG_CR7, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 98 | PPC_REG_CTR, |
| 99 | PPC_REG_F0, |
| 100 | PPC_REG_F1, |
| 101 | PPC_REG_F2, |
| 102 | PPC_REG_F3, |
| 103 | PPC_REG_F4, |
| 104 | PPC_REG_F5, |
| 105 | PPC_REG_F6, |
| 106 | PPC_REG_F7, |
| 107 | PPC_REG_F8, |
| 108 | PPC_REG_F9, |
| 109 | PPC_REG_F10, |
| 110 | PPC_REG_F11, |
| 111 | PPC_REG_F12, |
| 112 | PPC_REG_F13, |
| 113 | PPC_REG_F14, |
| 114 | PPC_REG_F15, |
| 115 | PPC_REG_F16, |
| 116 | PPC_REG_F17, |
| 117 | PPC_REG_F18, |
| 118 | PPC_REG_F19, |
| 119 | PPC_REG_F20, |
| 120 | PPC_REG_F21, |
| 121 | PPC_REG_F22, |
| 122 | PPC_REG_F23, |
| 123 | PPC_REG_F24, |
| 124 | PPC_REG_F25, |
| 125 | PPC_REG_F26, |
| 126 | PPC_REG_F27, |
| 127 | PPC_REG_F28, |
| 128 | PPC_REG_F29, |
| 129 | PPC_REG_F30, |
| 130 | PPC_REG_F31, |
| 131 | PPC_REG_LR, |
| 132 | PPC_REG_R0, |
| 133 | PPC_REG_R1, |
| 134 | PPC_REG_R2, |
| 135 | PPC_REG_R3, |
| 136 | PPC_REG_R4, |
| 137 | PPC_REG_R5, |
| 138 | PPC_REG_R6, |
| 139 | PPC_REG_R7, |
| 140 | PPC_REG_R8, |
| 141 | PPC_REG_R9, |
| 142 | PPC_REG_R10, |
| 143 | PPC_REG_R11, |
| 144 | PPC_REG_R12, |
| 145 | PPC_REG_R13, |
| 146 | PPC_REG_R14, |
| 147 | PPC_REG_R15, |
| 148 | PPC_REG_R16, |
| 149 | PPC_REG_R17, |
| 150 | PPC_REG_R18, |
| 151 | PPC_REG_R19, |
| 152 | PPC_REG_R20, |
| 153 | PPC_REG_R21, |
| 154 | PPC_REG_R22, |
| 155 | PPC_REG_R23, |
| 156 | PPC_REG_R24, |
| 157 | PPC_REG_R25, |
| 158 | PPC_REG_R26, |
| 159 | PPC_REG_R27, |
| 160 | PPC_REG_R28, |
| 161 | PPC_REG_R29, |
| 162 | PPC_REG_R30, |
| 163 | PPC_REG_R31, |
| 164 | PPC_REG_V0, |
| 165 | PPC_REG_V1, |
| 166 | PPC_REG_V2, |
| 167 | PPC_REG_V3, |
| 168 | PPC_REG_V4, |
| 169 | PPC_REG_V5, |
| 170 | PPC_REG_V6, |
| 171 | PPC_REG_V7, |
| 172 | PPC_REG_V8, |
| 173 | PPC_REG_V9, |
| 174 | PPC_REG_V10, |
| 175 | PPC_REG_V11, |
| 176 | PPC_REG_V12, |
| 177 | PPC_REG_V13, |
| 178 | PPC_REG_V14, |
| 179 | PPC_REG_V15, |
| 180 | PPC_REG_V16, |
| 181 | PPC_REG_V17, |
| 182 | PPC_REG_V18, |
| 183 | PPC_REG_V19, |
| 184 | PPC_REG_V20, |
| 185 | PPC_REG_V21, |
| 186 | PPC_REG_V22, |
| 187 | PPC_REG_V23, |
| 188 | PPC_REG_V24, |
| 189 | PPC_REG_V25, |
| 190 | PPC_REG_V26, |
| 191 | PPC_REG_V27, |
| 192 | PPC_REG_V28, |
| 193 | PPC_REG_V29, |
| 194 | PPC_REG_V30, |
| 195 | PPC_REG_V31, |
| 196 | PPC_REG_VRSAVE, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 197 | PPC_REG_VS0, |
| 198 | PPC_REG_VS1, |
| 199 | PPC_REG_VS2, |
| 200 | PPC_REG_VS3, |
| 201 | PPC_REG_VS4, |
| 202 | PPC_REG_VS5, |
| 203 | PPC_REG_VS6, |
| 204 | PPC_REG_VS7, |
| 205 | PPC_REG_VS8, |
| 206 | PPC_REG_VS9, |
| 207 | PPC_REG_VS10, |
| 208 | PPC_REG_VS11, |
| 209 | PPC_REG_VS12, |
| 210 | PPC_REG_VS13, |
| 211 | PPC_REG_VS14, |
| 212 | PPC_REG_VS15, |
| 213 | PPC_REG_VS16, |
| 214 | PPC_REG_VS17, |
| 215 | PPC_REG_VS18, |
| 216 | PPC_REG_VS19, |
| 217 | PPC_REG_VS20, |
| 218 | PPC_REG_VS21, |
| 219 | PPC_REG_VS22, |
| 220 | PPC_REG_VS23, |
| 221 | PPC_REG_VS24, |
| 222 | PPC_REG_VS25, |
| 223 | PPC_REG_VS26, |
| 224 | PPC_REG_VS27, |
| 225 | PPC_REG_VS28, |
| 226 | PPC_REG_VS29, |
| 227 | PPC_REG_VS30, |
| 228 | PPC_REG_VS31, |
| 229 | PPC_REG_VS32, |
| 230 | PPC_REG_VS33, |
| 231 | PPC_REG_VS34, |
| 232 | PPC_REG_VS35, |
| 233 | PPC_REG_VS36, |
| 234 | PPC_REG_VS37, |
| 235 | PPC_REG_VS38, |
| 236 | PPC_REG_VS39, |
| 237 | PPC_REG_VS40, |
| 238 | PPC_REG_VS41, |
| 239 | PPC_REG_VS42, |
| 240 | PPC_REG_VS43, |
| 241 | PPC_REG_VS44, |
| 242 | PPC_REG_VS45, |
| 243 | PPC_REG_VS46, |
| 244 | PPC_REG_VS47, |
| 245 | PPC_REG_VS48, |
| 246 | PPC_REG_VS49, |
| 247 | PPC_REG_VS50, |
| 248 | PPC_REG_VS51, |
| 249 | PPC_REG_VS52, |
| 250 | PPC_REG_VS53, |
| 251 | PPC_REG_VS54, |
| 252 | PPC_REG_VS55, |
| 253 | PPC_REG_VS56, |
| 254 | PPC_REG_VS57, |
| 255 | PPC_REG_VS58, |
| 256 | PPC_REG_VS59, |
| 257 | PPC_REG_VS60, |
| 258 | PPC_REG_VS61, |
| 259 | PPC_REG_VS62, |
| 260 | PPC_REG_VS63, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 261 | |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 262 | // extra registers for PPCMapping.c |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 263 | PPC_REG_RM, |
| 264 | PPC_REG_CTR8, |
| 265 | PPC_REG_LR8, |
| 266 | PPC_REG_CR1EQ, |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 267 | |
Nguyen Anh Quynh | d7e42b7 | 2014-09-29 17:15:25 +0800 | [diff] [blame] | 268 | PPC_REG_ENDING, // <-- mark the end of the list of registers |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 269 | } ppc_reg; |
| 270 | |
| 271 | //> PPC instruction |
| 272 | typedef enum ppc_insn { |
| 273 | PPC_INS_INVALID = 0, |
Nguyen Anh Quynh | 0b4c123 | 2014-01-02 12:02:59 +0800 | [diff] [blame] | 274 | |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 275 | PPC_INS_ADD, |
| 276 | PPC_INS_ADDC, |
| 277 | PPC_INS_ADDE, |
| 278 | PPC_INS_ADDI, |
| 279 | PPC_INS_ADDIC, |
| 280 | PPC_INS_ADDIS, |
| 281 | PPC_INS_ADDME, |
| 282 | PPC_INS_ADDZE, |
| 283 | PPC_INS_AND, |
| 284 | PPC_INS_ANDC, |
| 285 | PPC_INS_ANDIS, |
| 286 | PPC_INS_ANDI, |
| 287 | PPC_INS_B, |
| 288 | PPC_INS_BA, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 289 | PPC_INS_BC, |
| 290 | PPC_INS_BCCTR, |
| 291 | PPC_INS_BCCTRL, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 292 | PPC_INS_BCL, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 293 | PPC_INS_BCLR, |
| 294 | PPC_INS_BCLRL, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 295 | PPC_INS_BCTR, |
| 296 | PPC_INS_BCTRL, |
| 297 | PPC_INS_BDNZ, |
| 298 | PPC_INS_BDNZA, |
| 299 | PPC_INS_BDNZL, |
| 300 | PPC_INS_BDNZLA, |
| 301 | PPC_INS_BDNZLR, |
| 302 | PPC_INS_BDNZLRL, |
| 303 | PPC_INS_BDZ, |
| 304 | PPC_INS_BDZA, |
| 305 | PPC_INS_BDZL, |
| 306 | PPC_INS_BDZLA, |
| 307 | PPC_INS_BDZLR, |
| 308 | PPC_INS_BDZLRL, |
| 309 | PPC_INS_BL, |
| 310 | PPC_INS_BLA, |
| 311 | PPC_INS_BLR, |
| 312 | PPC_INS_BLRL, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 313 | PPC_INS_BRINC, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 314 | PPC_INS_CMPD, |
| 315 | PPC_INS_CMPDI, |
| 316 | PPC_INS_CMPLD, |
| 317 | PPC_INS_CMPLDI, |
| 318 | PPC_INS_CMPLW, |
| 319 | PPC_INS_CMPLWI, |
| 320 | PPC_INS_CMPW, |
| 321 | PPC_INS_CMPWI, |
| 322 | PPC_INS_CNTLZD, |
| 323 | PPC_INS_CNTLZW, |
| 324 | PPC_INS_CREQV, |
| 325 | PPC_INS_CRXOR, |
| 326 | PPC_INS_CRAND, |
| 327 | PPC_INS_CRANDC, |
| 328 | PPC_INS_CRNAND, |
| 329 | PPC_INS_CRNOR, |
| 330 | PPC_INS_CROR, |
| 331 | PPC_INS_CRORC, |
| 332 | PPC_INS_DCBA, |
| 333 | PPC_INS_DCBF, |
| 334 | PPC_INS_DCBI, |
| 335 | PPC_INS_DCBST, |
| 336 | PPC_INS_DCBT, |
| 337 | PPC_INS_DCBTST, |
| 338 | PPC_INS_DCBZ, |
| 339 | PPC_INS_DCBZL, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 340 | PPC_INS_DCCCI, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 341 | PPC_INS_DIVD, |
| 342 | PPC_INS_DIVDU, |
| 343 | PPC_INS_DIVW, |
| 344 | PPC_INS_DIVWU, |
| 345 | PPC_INS_DSS, |
| 346 | PPC_INS_DSSALL, |
| 347 | PPC_INS_DST, |
| 348 | PPC_INS_DSTST, |
| 349 | PPC_INS_DSTSTT, |
| 350 | PPC_INS_DSTT, |
| 351 | PPC_INS_EIEIO, |
| 352 | PPC_INS_EQV, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 353 | PPC_INS_EVABS, |
| 354 | PPC_INS_EVADDIW, |
| 355 | PPC_INS_EVADDSMIAAW, |
| 356 | PPC_INS_EVADDSSIAAW, |
| 357 | PPC_INS_EVADDUMIAAW, |
| 358 | PPC_INS_EVADDUSIAAW, |
| 359 | PPC_INS_EVADDW, |
| 360 | PPC_INS_EVAND, |
| 361 | PPC_INS_EVANDC, |
| 362 | PPC_INS_EVCMPEQ, |
| 363 | PPC_INS_EVCMPGTS, |
| 364 | PPC_INS_EVCMPGTU, |
| 365 | PPC_INS_EVCMPLTS, |
| 366 | PPC_INS_EVCMPLTU, |
| 367 | PPC_INS_EVCNTLSW, |
| 368 | PPC_INS_EVCNTLZW, |
| 369 | PPC_INS_EVDIVWS, |
| 370 | PPC_INS_EVDIVWU, |
| 371 | PPC_INS_EVEQV, |
| 372 | PPC_INS_EVEXTSB, |
| 373 | PPC_INS_EVEXTSH, |
| 374 | PPC_INS_EVLDD, |
| 375 | PPC_INS_EVLDDX, |
| 376 | PPC_INS_EVLDH, |
| 377 | PPC_INS_EVLDHX, |
| 378 | PPC_INS_EVLDW, |
| 379 | PPC_INS_EVLDWX, |
| 380 | PPC_INS_EVLHHESPLAT, |
| 381 | PPC_INS_EVLHHESPLATX, |
| 382 | PPC_INS_EVLHHOSSPLAT, |
| 383 | PPC_INS_EVLHHOSSPLATX, |
| 384 | PPC_INS_EVLHHOUSPLAT, |
| 385 | PPC_INS_EVLHHOUSPLATX, |
| 386 | PPC_INS_EVLWHE, |
| 387 | PPC_INS_EVLWHEX, |
| 388 | PPC_INS_EVLWHOS, |
| 389 | PPC_INS_EVLWHOSX, |
| 390 | PPC_INS_EVLWHOU, |
| 391 | PPC_INS_EVLWHOUX, |
| 392 | PPC_INS_EVLWHSPLAT, |
| 393 | PPC_INS_EVLWHSPLATX, |
| 394 | PPC_INS_EVLWWSPLAT, |
| 395 | PPC_INS_EVLWWSPLATX, |
| 396 | PPC_INS_EVMERGEHI, |
| 397 | PPC_INS_EVMERGEHILO, |
| 398 | PPC_INS_EVMERGELO, |
| 399 | PPC_INS_EVMERGELOHI, |
| 400 | PPC_INS_EVMHEGSMFAA, |
| 401 | PPC_INS_EVMHEGSMFAN, |
| 402 | PPC_INS_EVMHEGSMIAA, |
| 403 | PPC_INS_EVMHEGSMIAN, |
| 404 | PPC_INS_EVMHEGUMIAA, |
| 405 | PPC_INS_EVMHEGUMIAN, |
| 406 | PPC_INS_EVMHESMF, |
| 407 | PPC_INS_EVMHESMFA, |
| 408 | PPC_INS_EVMHESMFAAW, |
| 409 | PPC_INS_EVMHESMFANW, |
| 410 | PPC_INS_EVMHESMI, |
| 411 | PPC_INS_EVMHESMIA, |
| 412 | PPC_INS_EVMHESMIAAW, |
| 413 | PPC_INS_EVMHESMIANW, |
| 414 | PPC_INS_EVMHESSF, |
| 415 | PPC_INS_EVMHESSFA, |
| 416 | PPC_INS_EVMHESSFAAW, |
| 417 | PPC_INS_EVMHESSFANW, |
| 418 | PPC_INS_EVMHESSIAAW, |
| 419 | PPC_INS_EVMHESSIANW, |
| 420 | PPC_INS_EVMHEUMI, |
| 421 | PPC_INS_EVMHEUMIA, |
| 422 | PPC_INS_EVMHEUMIAAW, |
| 423 | PPC_INS_EVMHEUMIANW, |
| 424 | PPC_INS_EVMHEUSIAAW, |
| 425 | PPC_INS_EVMHEUSIANW, |
| 426 | PPC_INS_EVMHOGSMFAA, |
| 427 | PPC_INS_EVMHOGSMFAN, |
| 428 | PPC_INS_EVMHOGSMIAA, |
| 429 | PPC_INS_EVMHOGSMIAN, |
| 430 | PPC_INS_EVMHOGUMIAA, |
| 431 | PPC_INS_EVMHOGUMIAN, |
| 432 | PPC_INS_EVMHOSMF, |
| 433 | PPC_INS_EVMHOSMFA, |
| 434 | PPC_INS_EVMHOSMFAAW, |
| 435 | PPC_INS_EVMHOSMFANW, |
| 436 | PPC_INS_EVMHOSMI, |
| 437 | PPC_INS_EVMHOSMIA, |
| 438 | PPC_INS_EVMHOSMIAAW, |
| 439 | PPC_INS_EVMHOSMIANW, |
| 440 | PPC_INS_EVMHOSSF, |
| 441 | PPC_INS_EVMHOSSFA, |
| 442 | PPC_INS_EVMHOSSFAAW, |
| 443 | PPC_INS_EVMHOSSFANW, |
| 444 | PPC_INS_EVMHOSSIAAW, |
| 445 | PPC_INS_EVMHOSSIANW, |
| 446 | PPC_INS_EVMHOUMI, |
| 447 | PPC_INS_EVMHOUMIA, |
| 448 | PPC_INS_EVMHOUMIAAW, |
| 449 | PPC_INS_EVMHOUMIANW, |
| 450 | PPC_INS_EVMHOUSIAAW, |
| 451 | PPC_INS_EVMHOUSIANW, |
| 452 | PPC_INS_EVMRA, |
| 453 | PPC_INS_EVMWHSMF, |
| 454 | PPC_INS_EVMWHSMFA, |
| 455 | PPC_INS_EVMWHSMI, |
| 456 | PPC_INS_EVMWHSMIA, |
| 457 | PPC_INS_EVMWHSSF, |
| 458 | PPC_INS_EVMWHSSFA, |
| 459 | PPC_INS_EVMWHUMI, |
| 460 | PPC_INS_EVMWHUMIA, |
| 461 | PPC_INS_EVMWLSMIAAW, |
| 462 | PPC_INS_EVMWLSMIANW, |
| 463 | PPC_INS_EVMWLSSIAAW, |
| 464 | PPC_INS_EVMWLSSIANW, |
| 465 | PPC_INS_EVMWLUMI, |
| 466 | PPC_INS_EVMWLUMIA, |
| 467 | PPC_INS_EVMWLUMIAAW, |
| 468 | PPC_INS_EVMWLUMIANW, |
| 469 | PPC_INS_EVMWLUSIAAW, |
| 470 | PPC_INS_EVMWLUSIANW, |
| 471 | PPC_INS_EVMWSMF, |
| 472 | PPC_INS_EVMWSMFA, |
| 473 | PPC_INS_EVMWSMFAA, |
| 474 | PPC_INS_EVMWSMFAN, |
| 475 | PPC_INS_EVMWSMI, |
| 476 | PPC_INS_EVMWSMIA, |
| 477 | PPC_INS_EVMWSMIAA, |
| 478 | PPC_INS_EVMWSMIAN, |
| 479 | PPC_INS_EVMWSSF, |
| 480 | PPC_INS_EVMWSSFA, |
| 481 | PPC_INS_EVMWSSFAA, |
| 482 | PPC_INS_EVMWSSFAN, |
| 483 | PPC_INS_EVMWUMI, |
| 484 | PPC_INS_EVMWUMIA, |
| 485 | PPC_INS_EVMWUMIAA, |
| 486 | PPC_INS_EVMWUMIAN, |
| 487 | PPC_INS_EVNAND, |
| 488 | PPC_INS_EVNEG, |
| 489 | PPC_INS_EVNOR, |
| 490 | PPC_INS_EVOR, |
| 491 | PPC_INS_EVORC, |
| 492 | PPC_INS_EVRLW, |
| 493 | PPC_INS_EVRLWI, |
| 494 | PPC_INS_EVRNDW, |
| 495 | PPC_INS_EVSLW, |
| 496 | PPC_INS_EVSLWI, |
| 497 | PPC_INS_EVSPLATFI, |
| 498 | PPC_INS_EVSPLATI, |
| 499 | PPC_INS_EVSRWIS, |
| 500 | PPC_INS_EVSRWIU, |
| 501 | PPC_INS_EVSRWS, |
| 502 | PPC_INS_EVSRWU, |
| 503 | PPC_INS_EVSTDD, |
| 504 | PPC_INS_EVSTDDX, |
| 505 | PPC_INS_EVSTDH, |
| 506 | PPC_INS_EVSTDHX, |
| 507 | PPC_INS_EVSTDW, |
| 508 | PPC_INS_EVSTDWX, |
| 509 | PPC_INS_EVSTWHE, |
| 510 | PPC_INS_EVSTWHEX, |
| 511 | PPC_INS_EVSTWHO, |
| 512 | PPC_INS_EVSTWHOX, |
| 513 | PPC_INS_EVSTWWE, |
| 514 | PPC_INS_EVSTWWEX, |
| 515 | PPC_INS_EVSTWWO, |
| 516 | PPC_INS_EVSTWWOX, |
| 517 | PPC_INS_EVSUBFSMIAAW, |
| 518 | PPC_INS_EVSUBFSSIAAW, |
| 519 | PPC_INS_EVSUBFUMIAAW, |
| 520 | PPC_INS_EVSUBFUSIAAW, |
| 521 | PPC_INS_EVSUBFW, |
| 522 | PPC_INS_EVSUBIFW, |
| 523 | PPC_INS_EVXOR, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 524 | PPC_INS_EXTSB, |
| 525 | PPC_INS_EXTSH, |
| 526 | PPC_INS_EXTSW, |
| 527 | PPC_INS_FABS, |
| 528 | PPC_INS_FADD, |
| 529 | PPC_INS_FADDS, |
| 530 | PPC_INS_FCFID, |
| 531 | PPC_INS_FCFIDS, |
| 532 | PPC_INS_FCFIDU, |
| 533 | PPC_INS_FCFIDUS, |
| 534 | PPC_INS_FCMPU, |
| 535 | PPC_INS_FCPSGN, |
| 536 | PPC_INS_FCTID, |
| 537 | PPC_INS_FCTIDUZ, |
| 538 | PPC_INS_FCTIDZ, |
| 539 | PPC_INS_FCTIW, |
| 540 | PPC_INS_FCTIWUZ, |
| 541 | PPC_INS_FCTIWZ, |
| 542 | PPC_INS_FDIV, |
| 543 | PPC_INS_FDIVS, |
| 544 | PPC_INS_FMADD, |
| 545 | PPC_INS_FMADDS, |
Nguyen Anh Quynh | 8b915ed | 2014-02-19 17:01:44 +0800 | [diff] [blame] | 546 | PPC_INS_FMR, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 547 | PPC_INS_FMSUB, |
| 548 | PPC_INS_FMSUBS, |
| 549 | PPC_INS_FMUL, |
| 550 | PPC_INS_FMULS, |
| 551 | PPC_INS_FNABS, |
| 552 | PPC_INS_FNEG, |
| 553 | PPC_INS_FNMADD, |
| 554 | PPC_INS_FNMADDS, |
| 555 | PPC_INS_FNMSUB, |
| 556 | PPC_INS_FNMSUBS, |
| 557 | PPC_INS_FRE, |
| 558 | PPC_INS_FRES, |
| 559 | PPC_INS_FRIM, |
| 560 | PPC_INS_FRIN, |
| 561 | PPC_INS_FRIP, |
| 562 | PPC_INS_FRIZ, |
| 563 | PPC_INS_FRSP, |
| 564 | PPC_INS_FRSQRTE, |
| 565 | PPC_INS_FRSQRTES, |
| 566 | PPC_INS_FSEL, |
| 567 | PPC_INS_FSQRT, |
| 568 | PPC_INS_FSQRTS, |
| 569 | PPC_INS_FSUB, |
| 570 | PPC_INS_FSUBS, |
| 571 | PPC_INS_ICBI, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 572 | PPC_INS_ICCCI, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 573 | PPC_INS_ISEL, |
| 574 | PPC_INS_ISYNC, |
| 575 | PPC_INS_LA, |
| 576 | PPC_INS_LBZ, |
| 577 | PPC_INS_LBZU, |
| 578 | PPC_INS_LBZUX, |
| 579 | PPC_INS_LBZX, |
| 580 | PPC_INS_LD, |
| 581 | PPC_INS_LDARX, |
| 582 | PPC_INS_LDBRX, |
| 583 | PPC_INS_LDU, |
| 584 | PPC_INS_LDUX, |
| 585 | PPC_INS_LDX, |
| 586 | PPC_INS_LFD, |
| 587 | PPC_INS_LFDU, |
| 588 | PPC_INS_LFDUX, |
| 589 | PPC_INS_LFDX, |
| 590 | PPC_INS_LFIWAX, |
| 591 | PPC_INS_LFIWZX, |
| 592 | PPC_INS_LFS, |
| 593 | PPC_INS_LFSU, |
| 594 | PPC_INS_LFSUX, |
| 595 | PPC_INS_LFSX, |
| 596 | PPC_INS_LHA, |
| 597 | PPC_INS_LHAU, |
| 598 | PPC_INS_LHAUX, |
| 599 | PPC_INS_LHAX, |
| 600 | PPC_INS_LHBRX, |
| 601 | PPC_INS_LHZ, |
| 602 | PPC_INS_LHZU, |
| 603 | PPC_INS_LHZUX, |
| 604 | PPC_INS_LHZX, |
| 605 | PPC_INS_LI, |
| 606 | PPC_INS_LIS, |
| 607 | PPC_INS_LMW, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 608 | PPC_INS_LSWI, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 609 | PPC_INS_LVEBX, |
| 610 | PPC_INS_LVEHX, |
| 611 | PPC_INS_LVEWX, |
| 612 | PPC_INS_LVSL, |
| 613 | PPC_INS_LVSR, |
| 614 | PPC_INS_LVX, |
| 615 | PPC_INS_LVXL, |
| 616 | PPC_INS_LWA, |
| 617 | PPC_INS_LWARX, |
| 618 | PPC_INS_LWAUX, |
| 619 | PPC_INS_LWAX, |
| 620 | PPC_INS_LWBRX, |
| 621 | PPC_INS_LWZ, |
| 622 | PPC_INS_LWZU, |
| 623 | PPC_INS_LWZUX, |
| 624 | PPC_INS_LWZX, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 625 | PPC_INS_LXSDX, |
| 626 | PPC_INS_LXVD2X, |
| 627 | PPC_INS_LXVDSX, |
| 628 | PPC_INS_LXVW4X, |
| 629 | PPC_INS_MBAR, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 630 | PPC_INS_MCRF, |
| 631 | PPC_INS_MFCR, |
| 632 | PPC_INS_MFCTR, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 633 | PPC_INS_MFDCR, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 634 | PPC_INS_MFFS, |
| 635 | PPC_INS_MFLR, |
| 636 | PPC_INS_MFMSR, |
| 637 | PPC_INS_MFOCRF, |
| 638 | PPC_INS_MFSPR, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 639 | PPC_INS_MFSR, |
| 640 | PPC_INS_MFSRIN, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 641 | PPC_INS_MFTB, |
| 642 | PPC_INS_MFVSCR, |
Nguyen Anh Quynh | 8b915ed | 2014-02-19 17:01:44 +0800 | [diff] [blame] | 643 | PPC_INS_MSYNC, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 644 | PPC_INS_MTCRF, |
| 645 | PPC_INS_MTCTR, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 646 | PPC_INS_MTDCR, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 647 | PPC_INS_MTFSB0, |
| 648 | PPC_INS_MTFSB1, |
| 649 | PPC_INS_MTFSF, |
| 650 | PPC_INS_MTLR, |
| 651 | PPC_INS_MTMSR, |
| 652 | PPC_INS_MTMSRD, |
| 653 | PPC_INS_MTOCRF, |
| 654 | PPC_INS_MTSPR, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 655 | PPC_INS_MTSR, |
| 656 | PPC_INS_MTSRIN, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 657 | PPC_INS_MTVSCR, |
| 658 | PPC_INS_MULHD, |
| 659 | PPC_INS_MULHDU, |
| 660 | PPC_INS_MULHW, |
| 661 | PPC_INS_MULHWU, |
| 662 | PPC_INS_MULLD, |
| 663 | PPC_INS_MULLI, |
| 664 | PPC_INS_MULLW, |
| 665 | PPC_INS_NAND, |
| 666 | PPC_INS_NEG, |
| 667 | PPC_INS_NOP, |
| 668 | PPC_INS_ORI, |
| 669 | PPC_INS_NOR, |
| 670 | PPC_INS_OR, |
| 671 | PPC_INS_ORC, |
| 672 | PPC_INS_ORIS, |
| 673 | PPC_INS_POPCNTD, |
| 674 | PPC_INS_POPCNTW, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 675 | PPC_INS_RFCI, |
| 676 | PPC_INS_RFDI, |
| 677 | PPC_INS_RFI, |
| 678 | PPC_INS_RFID, |
| 679 | PPC_INS_RFMCI, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 680 | PPC_INS_RLDCL, |
| 681 | PPC_INS_RLDCR, |
| 682 | PPC_INS_RLDIC, |
| 683 | PPC_INS_RLDICL, |
| 684 | PPC_INS_RLDICR, |
| 685 | PPC_INS_RLDIMI, |
| 686 | PPC_INS_RLWIMI, |
| 687 | PPC_INS_RLWINM, |
| 688 | PPC_INS_RLWNM, |
| 689 | PPC_INS_SC, |
| 690 | PPC_INS_SLBIA, |
| 691 | PPC_INS_SLBIE, |
| 692 | PPC_INS_SLBMFEE, |
| 693 | PPC_INS_SLBMTE, |
| 694 | PPC_INS_SLD, |
| 695 | PPC_INS_SLW, |
| 696 | PPC_INS_SRAD, |
| 697 | PPC_INS_SRADI, |
| 698 | PPC_INS_SRAW, |
| 699 | PPC_INS_SRAWI, |
| 700 | PPC_INS_SRD, |
| 701 | PPC_INS_SRW, |
| 702 | PPC_INS_STB, |
| 703 | PPC_INS_STBU, |
| 704 | PPC_INS_STBUX, |
| 705 | PPC_INS_STBX, |
| 706 | PPC_INS_STD, |
| 707 | PPC_INS_STDBRX, |
| 708 | PPC_INS_STDCX, |
| 709 | PPC_INS_STDU, |
| 710 | PPC_INS_STDUX, |
| 711 | PPC_INS_STDX, |
| 712 | PPC_INS_STFD, |
| 713 | PPC_INS_STFDU, |
| 714 | PPC_INS_STFDUX, |
| 715 | PPC_INS_STFDX, |
| 716 | PPC_INS_STFIWX, |
| 717 | PPC_INS_STFS, |
| 718 | PPC_INS_STFSU, |
| 719 | PPC_INS_STFSUX, |
| 720 | PPC_INS_STFSX, |
| 721 | PPC_INS_STH, |
| 722 | PPC_INS_STHBRX, |
| 723 | PPC_INS_STHU, |
| 724 | PPC_INS_STHUX, |
| 725 | PPC_INS_STHX, |
| 726 | PPC_INS_STMW, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 727 | PPC_INS_STSWI, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 728 | PPC_INS_STVEBX, |
| 729 | PPC_INS_STVEHX, |
| 730 | PPC_INS_STVEWX, |
| 731 | PPC_INS_STVX, |
| 732 | PPC_INS_STVXL, |
| 733 | PPC_INS_STW, |
| 734 | PPC_INS_STWBRX, |
| 735 | PPC_INS_STWCX, |
| 736 | PPC_INS_STWU, |
| 737 | PPC_INS_STWUX, |
| 738 | PPC_INS_STWX, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 739 | PPC_INS_STXSDX, |
| 740 | PPC_INS_STXVD2X, |
| 741 | PPC_INS_STXVW4X, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 742 | PPC_INS_SUBF, |
| 743 | PPC_INS_SUBFC, |
| 744 | PPC_INS_SUBFE, |
| 745 | PPC_INS_SUBFIC, |
| 746 | PPC_INS_SUBFME, |
| 747 | PPC_INS_SUBFZE, |
| 748 | PPC_INS_SYNC, |
| 749 | PPC_INS_TD, |
| 750 | PPC_INS_TDI, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 751 | PPC_INS_TLBIA, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 752 | PPC_INS_TLBIE, |
| 753 | PPC_INS_TLBIEL, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 754 | PPC_INS_TLBIVAX, |
| 755 | PPC_INS_TLBLD, |
| 756 | PPC_INS_TLBLI, |
| 757 | PPC_INS_TLBRE, |
| 758 | PPC_INS_TLBSX, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 759 | PPC_INS_TLBSYNC, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 760 | PPC_INS_TLBWE, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 761 | PPC_INS_TRAP, |
| 762 | PPC_INS_TW, |
| 763 | PPC_INS_TWI, |
| 764 | PPC_INS_VADDCUW, |
| 765 | PPC_INS_VADDFP, |
| 766 | PPC_INS_VADDSBS, |
| 767 | PPC_INS_VADDSHS, |
| 768 | PPC_INS_VADDSWS, |
| 769 | PPC_INS_VADDUBM, |
| 770 | PPC_INS_VADDUBS, |
| 771 | PPC_INS_VADDUHM, |
| 772 | PPC_INS_VADDUHS, |
| 773 | PPC_INS_VADDUWM, |
| 774 | PPC_INS_VADDUWS, |
| 775 | PPC_INS_VAND, |
| 776 | PPC_INS_VANDC, |
| 777 | PPC_INS_VAVGSB, |
| 778 | PPC_INS_VAVGSH, |
| 779 | PPC_INS_VAVGSW, |
| 780 | PPC_INS_VAVGUB, |
| 781 | PPC_INS_VAVGUH, |
| 782 | PPC_INS_VAVGUW, |
| 783 | PPC_INS_VCFSX, |
| 784 | PPC_INS_VCFUX, |
| 785 | PPC_INS_VCMPBFP, |
| 786 | PPC_INS_VCMPEQFP, |
| 787 | PPC_INS_VCMPEQUB, |
| 788 | PPC_INS_VCMPEQUH, |
| 789 | PPC_INS_VCMPEQUW, |
| 790 | PPC_INS_VCMPGEFP, |
| 791 | PPC_INS_VCMPGTFP, |
| 792 | PPC_INS_VCMPGTSB, |
| 793 | PPC_INS_VCMPGTSH, |
| 794 | PPC_INS_VCMPGTSW, |
| 795 | PPC_INS_VCMPGTUB, |
| 796 | PPC_INS_VCMPGTUH, |
| 797 | PPC_INS_VCMPGTUW, |
| 798 | PPC_INS_VCTSXS, |
| 799 | PPC_INS_VCTUXS, |
| 800 | PPC_INS_VEXPTEFP, |
| 801 | PPC_INS_VLOGEFP, |
| 802 | PPC_INS_VMADDFP, |
| 803 | PPC_INS_VMAXFP, |
| 804 | PPC_INS_VMAXSB, |
| 805 | PPC_INS_VMAXSH, |
| 806 | PPC_INS_VMAXSW, |
| 807 | PPC_INS_VMAXUB, |
| 808 | PPC_INS_VMAXUH, |
| 809 | PPC_INS_VMAXUW, |
| 810 | PPC_INS_VMHADDSHS, |
| 811 | PPC_INS_VMHRADDSHS, |
| 812 | PPC_INS_VMINFP, |
| 813 | PPC_INS_VMINSB, |
| 814 | PPC_INS_VMINSH, |
| 815 | PPC_INS_VMINSW, |
| 816 | PPC_INS_VMINUB, |
| 817 | PPC_INS_VMINUH, |
| 818 | PPC_INS_VMINUW, |
| 819 | PPC_INS_VMLADDUHM, |
| 820 | PPC_INS_VMRGHB, |
| 821 | PPC_INS_VMRGHH, |
| 822 | PPC_INS_VMRGHW, |
| 823 | PPC_INS_VMRGLB, |
| 824 | PPC_INS_VMRGLH, |
| 825 | PPC_INS_VMRGLW, |
| 826 | PPC_INS_VMSUMMBM, |
| 827 | PPC_INS_VMSUMSHM, |
| 828 | PPC_INS_VMSUMSHS, |
| 829 | PPC_INS_VMSUMUBM, |
| 830 | PPC_INS_VMSUMUHM, |
| 831 | PPC_INS_VMSUMUHS, |
| 832 | PPC_INS_VMULESB, |
| 833 | PPC_INS_VMULESH, |
| 834 | PPC_INS_VMULEUB, |
| 835 | PPC_INS_VMULEUH, |
| 836 | PPC_INS_VMULOSB, |
| 837 | PPC_INS_VMULOSH, |
| 838 | PPC_INS_VMULOUB, |
| 839 | PPC_INS_VMULOUH, |
| 840 | PPC_INS_VNMSUBFP, |
| 841 | PPC_INS_VNOR, |
| 842 | PPC_INS_VOR, |
| 843 | PPC_INS_VPERM, |
| 844 | PPC_INS_VPKPX, |
| 845 | PPC_INS_VPKSHSS, |
| 846 | PPC_INS_VPKSHUS, |
| 847 | PPC_INS_VPKSWSS, |
| 848 | PPC_INS_VPKSWUS, |
| 849 | PPC_INS_VPKUHUM, |
| 850 | PPC_INS_VPKUHUS, |
| 851 | PPC_INS_VPKUWUM, |
| 852 | PPC_INS_VPKUWUS, |
| 853 | PPC_INS_VREFP, |
| 854 | PPC_INS_VRFIM, |
| 855 | PPC_INS_VRFIN, |
| 856 | PPC_INS_VRFIP, |
| 857 | PPC_INS_VRFIZ, |
| 858 | PPC_INS_VRLB, |
| 859 | PPC_INS_VRLH, |
| 860 | PPC_INS_VRLW, |
| 861 | PPC_INS_VRSQRTEFP, |
| 862 | PPC_INS_VSEL, |
| 863 | PPC_INS_VSL, |
| 864 | PPC_INS_VSLB, |
| 865 | PPC_INS_VSLDOI, |
| 866 | PPC_INS_VSLH, |
| 867 | PPC_INS_VSLO, |
| 868 | PPC_INS_VSLW, |
| 869 | PPC_INS_VSPLTB, |
| 870 | PPC_INS_VSPLTH, |
| 871 | PPC_INS_VSPLTISB, |
| 872 | PPC_INS_VSPLTISH, |
| 873 | PPC_INS_VSPLTISW, |
| 874 | PPC_INS_VSPLTW, |
| 875 | PPC_INS_VSR, |
| 876 | PPC_INS_VSRAB, |
| 877 | PPC_INS_VSRAH, |
| 878 | PPC_INS_VSRAW, |
| 879 | PPC_INS_VSRB, |
| 880 | PPC_INS_VSRH, |
| 881 | PPC_INS_VSRO, |
| 882 | PPC_INS_VSRW, |
| 883 | PPC_INS_VSUBCUW, |
| 884 | PPC_INS_VSUBFP, |
| 885 | PPC_INS_VSUBSBS, |
| 886 | PPC_INS_VSUBSHS, |
| 887 | PPC_INS_VSUBSWS, |
| 888 | PPC_INS_VSUBUBM, |
| 889 | PPC_INS_VSUBUBS, |
| 890 | PPC_INS_VSUBUHM, |
| 891 | PPC_INS_VSUBUHS, |
| 892 | PPC_INS_VSUBUWM, |
| 893 | PPC_INS_VSUBUWS, |
| 894 | PPC_INS_VSUM2SWS, |
| 895 | PPC_INS_VSUM4SBS, |
| 896 | PPC_INS_VSUM4SHS, |
| 897 | PPC_INS_VSUM4UBS, |
| 898 | PPC_INS_VSUMSWS, |
| 899 | PPC_INS_VUPKHPX, |
| 900 | PPC_INS_VUPKHSB, |
| 901 | PPC_INS_VUPKHSH, |
| 902 | PPC_INS_VUPKLPX, |
| 903 | PPC_INS_VUPKLSB, |
| 904 | PPC_INS_VUPKLSH, |
| 905 | PPC_INS_VXOR, |
| 906 | PPC_INS_WAIT, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 907 | PPC_INS_WRTEE, |
| 908 | PPC_INS_WRTEEI, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 909 | PPC_INS_XOR, |
| 910 | PPC_INS_XORI, |
| 911 | PPC_INS_XORIS, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 912 | PPC_INS_XSABSDP, |
| 913 | PPC_INS_XSADDDP, |
| 914 | PPC_INS_XSCMPODP, |
| 915 | PPC_INS_XSCMPUDP, |
| 916 | PPC_INS_XSCPSGNDP, |
| 917 | PPC_INS_XSCVDPSP, |
| 918 | PPC_INS_XSCVDPSXDS, |
| 919 | PPC_INS_XSCVDPSXWS, |
| 920 | PPC_INS_XSCVDPUXDS, |
| 921 | PPC_INS_XSCVDPUXWS, |
| 922 | PPC_INS_XSCVSPDP, |
| 923 | PPC_INS_XSCVSXDDP, |
| 924 | PPC_INS_XSCVUXDDP, |
| 925 | PPC_INS_XSDIVDP, |
| 926 | PPC_INS_XSMADDADP, |
| 927 | PPC_INS_XSMADDMDP, |
| 928 | PPC_INS_XSMAXDP, |
| 929 | PPC_INS_XSMINDP, |
| 930 | PPC_INS_XSMSUBADP, |
| 931 | PPC_INS_XSMSUBMDP, |
| 932 | PPC_INS_XSMULDP, |
| 933 | PPC_INS_XSNABSDP, |
| 934 | PPC_INS_XSNEGDP, |
| 935 | PPC_INS_XSNMADDADP, |
| 936 | PPC_INS_XSNMADDMDP, |
| 937 | PPC_INS_XSNMSUBADP, |
| 938 | PPC_INS_XSNMSUBMDP, |
| 939 | PPC_INS_XSRDPI, |
| 940 | PPC_INS_XSRDPIC, |
| 941 | PPC_INS_XSRDPIM, |
| 942 | PPC_INS_XSRDPIP, |
| 943 | PPC_INS_XSRDPIZ, |
| 944 | PPC_INS_XSREDP, |
| 945 | PPC_INS_XSRSQRTEDP, |
| 946 | PPC_INS_XSSQRTDP, |
| 947 | PPC_INS_XSSUBDP, |
| 948 | PPC_INS_XSTDIVDP, |
| 949 | PPC_INS_XSTSQRTDP, |
| 950 | PPC_INS_XVABSDP, |
| 951 | PPC_INS_XVABSSP, |
| 952 | PPC_INS_XVADDDP, |
| 953 | PPC_INS_XVADDSP, |
| 954 | PPC_INS_XVCMPEQDP, |
| 955 | PPC_INS_XVCMPEQSP, |
| 956 | PPC_INS_XVCMPGEDP, |
| 957 | PPC_INS_XVCMPGESP, |
| 958 | PPC_INS_XVCMPGTDP, |
| 959 | PPC_INS_XVCMPGTSP, |
| 960 | PPC_INS_XVCPSGNDP, |
| 961 | PPC_INS_XVCPSGNSP, |
| 962 | PPC_INS_XVCVDPSP, |
| 963 | PPC_INS_XVCVDPSXDS, |
| 964 | PPC_INS_XVCVDPSXWS, |
| 965 | PPC_INS_XVCVDPUXDS, |
| 966 | PPC_INS_XVCVDPUXWS, |
| 967 | PPC_INS_XVCVSPDP, |
| 968 | PPC_INS_XVCVSPSXDS, |
| 969 | PPC_INS_XVCVSPSXWS, |
| 970 | PPC_INS_XVCVSPUXDS, |
| 971 | PPC_INS_XVCVSPUXWS, |
| 972 | PPC_INS_XVCVSXDDP, |
| 973 | PPC_INS_XVCVSXDSP, |
| 974 | PPC_INS_XVCVSXWDP, |
| 975 | PPC_INS_XVCVSXWSP, |
| 976 | PPC_INS_XVCVUXDDP, |
| 977 | PPC_INS_XVCVUXDSP, |
| 978 | PPC_INS_XVCVUXWDP, |
| 979 | PPC_INS_XVCVUXWSP, |
| 980 | PPC_INS_XVDIVDP, |
| 981 | PPC_INS_XVDIVSP, |
| 982 | PPC_INS_XVMADDADP, |
| 983 | PPC_INS_XVMADDASP, |
| 984 | PPC_INS_XVMADDMDP, |
| 985 | PPC_INS_XVMADDMSP, |
| 986 | PPC_INS_XVMAXDP, |
| 987 | PPC_INS_XVMAXSP, |
| 988 | PPC_INS_XVMINDP, |
| 989 | PPC_INS_XVMINSP, |
| 990 | PPC_INS_XVMSUBADP, |
| 991 | PPC_INS_XVMSUBASP, |
| 992 | PPC_INS_XVMSUBMDP, |
| 993 | PPC_INS_XVMSUBMSP, |
| 994 | PPC_INS_XVMULDP, |
| 995 | PPC_INS_XVMULSP, |
| 996 | PPC_INS_XVNABSDP, |
| 997 | PPC_INS_XVNABSSP, |
| 998 | PPC_INS_XVNEGDP, |
| 999 | PPC_INS_XVNEGSP, |
| 1000 | PPC_INS_XVNMADDADP, |
| 1001 | PPC_INS_XVNMADDASP, |
| 1002 | PPC_INS_XVNMADDMDP, |
| 1003 | PPC_INS_XVNMADDMSP, |
| 1004 | PPC_INS_XVNMSUBADP, |
| 1005 | PPC_INS_XVNMSUBASP, |
| 1006 | PPC_INS_XVNMSUBMDP, |
| 1007 | PPC_INS_XVNMSUBMSP, |
| 1008 | PPC_INS_XVRDPI, |
| 1009 | PPC_INS_XVRDPIC, |
| 1010 | PPC_INS_XVRDPIM, |
| 1011 | PPC_INS_XVRDPIP, |
| 1012 | PPC_INS_XVRDPIZ, |
| 1013 | PPC_INS_XVREDP, |
| 1014 | PPC_INS_XVRESP, |
| 1015 | PPC_INS_XVRSPI, |
| 1016 | PPC_INS_XVRSPIC, |
| 1017 | PPC_INS_XVRSPIM, |
| 1018 | PPC_INS_XVRSPIP, |
| 1019 | PPC_INS_XVRSPIZ, |
| 1020 | PPC_INS_XVRSQRTEDP, |
| 1021 | PPC_INS_XVRSQRTESP, |
| 1022 | PPC_INS_XVSQRTDP, |
| 1023 | PPC_INS_XVSQRTSP, |
| 1024 | PPC_INS_XVSUBDP, |
| 1025 | PPC_INS_XVSUBSP, |
| 1026 | PPC_INS_XVTDIVDP, |
| 1027 | PPC_INS_XVTDIVSP, |
| 1028 | PPC_INS_XVTSQRTDP, |
| 1029 | PPC_INS_XVTSQRTSP, |
| 1030 | PPC_INS_XXLAND, |
| 1031 | PPC_INS_XXLANDC, |
| 1032 | PPC_INS_XXLNOR, |
| 1033 | PPC_INS_XXLOR, |
| 1034 | PPC_INS_XXLXOR, |
| 1035 | PPC_INS_XXMRGHW, |
| 1036 | PPC_INS_XXMRGLW, |
| 1037 | PPC_INS_XXPERMDI, |
| 1038 | PPC_INS_XXSEL, |
| 1039 | PPC_INS_XXSLDWI, |
| 1040 | PPC_INS_XXSPLTW, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 1041 | PPC_INS_BCA, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 1042 | PPC_INS_BCLA, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 1043 | |
Nguyen Anh Quynh | 721d07f | 2014-09-04 12:03:31 +0800 | [diff] [blame] | 1044 | // extra & alias instructions |
| 1045 | PPC_INS_SLWI, |
| 1046 | PPC_INS_SRWI, |
| 1047 | PPC_INS_SLDI, |
| 1048 | |
| 1049 | PPC_INS_BTA, |
| 1050 | PPC_INS_CRSET, |
| 1051 | PPC_INS_CRNOT, |
| 1052 | PPC_INS_CRMOVE, |
| 1053 | PPC_INS_CRCLR, |
| 1054 | PPC_INS_MFBR0, |
| 1055 | PPC_INS_MFBR1, |
| 1056 | PPC_INS_MFBR2, |
| 1057 | PPC_INS_MFBR3, |
| 1058 | PPC_INS_MFBR4, |
| 1059 | PPC_INS_MFBR5, |
| 1060 | PPC_INS_MFBR6, |
| 1061 | PPC_INS_MFBR7, |
| 1062 | PPC_INS_MFXER, |
| 1063 | PPC_INS_MFRTCU, |
| 1064 | PPC_INS_MFRTCL, |
| 1065 | PPC_INS_MFDSCR, |
| 1066 | PPC_INS_MFDSISR, |
| 1067 | PPC_INS_MFDAR, |
| 1068 | PPC_INS_MFSRR2, |
| 1069 | PPC_INS_MFSRR3, |
| 1070 | PPC_INS_MFCFAR, |
| 1071 | PPC_INS_MFAMR, |
| 1072 | PPC_INS_MFPID, |
| 1073 | PPC_INS_MFTBLO, |
| 1074 | PPC_INS_MFTBHI, |
| 1075 | PPC_INS_MFDBATU, |
| 1076 | PPC_INS_MFDBATL, |
| 1077 | PPC_INS_MFIBATU, |
| 1078 | PPC_INS_MFIBATL, |
| 1079 | PPC_INS_MFDCCR, |
| 1080 | PPC_INS_MFICCR, |
| 1081 | PPC_INS_MFDEAR, |
| 1082 | PPC_INS_MFESR, |
| 1083 | PPC_INS_MFSPEFSCR, |
| 1084 | PPC_INS_MFTCR, |
| 1085 | PPC_INS_MFASR, |
| 1086 | PPC_INS_MFPVR, |
| 1087 | PPC_INS_MFTBU, |
| 1088 | PPC_INS_MTCR, |
| 1089 | PPC_INS_MTBR0, |
| 1090 | PPC_INS_MTBR1, |
| 1091 | PPC_INS_MTBR2, |
| 1092 | PPC_INS_MTBR3, |
| 1093 | PPC_INS_MTBR4, |
| 1094 | PPC_INS_MTBR5, |
| 1095 | PPC_INS_MTBR6, |
| 1096 | PPC_INS_MTBR7, |
| 1097 | PPC_INS_MTXER, |
| 1098 | PPC_INS_MTDSCR, |
| 1099 | PPC_INS_MTDSISR, |
| 1100 | PPC_INS_MTDAR, |
| 1101 | PPC_INS_MTSRR2, |
| 1102 | PPC_INS_MTSRR3, |
| 1103 | PPC_INS_MTCFAR, |
| 1104 | PPC_INS_MTAMR, |
| 1105 | PPC_INS_MTPID, |
| 1106 | PPC_INS_MTTBL, |
| 1107 | PPC_INS_MTTBU, |
| 1108 | PPC_INS_MTTBLO, |
| 1109 | PPC_INS_MTTBHI, |
| 1110 | PPC_INS_MTDBATU, |
| 1111 | PPC_INS_MTDBATL, |
| 1112 | PPC_INS_MTIBATU, |
| 1113 | PPC_INS_MTIBATL, |
| 1114 | PPC_INS_MTDCCR, |
| 1115 | PPC_INS_MTICCR, |
| 1116 | PPC_INS_MTDEAR, |
| 1117 | PPC_INS_MTESR, |
| 1118 | PPC_INS_MTSPEFSCR, |
| 1119 | PPC_INS_MTTCR, |
| 1120 | PPC_INS_NOT, |
| 1121 | PPC_INS_MR, |
| 1122 | PPC_INS_ROTLD, |
| 1123 | PPC_INS_ROTLDI, |
| 1124 | PPC_INS_CLRLDI, |
| 1125 | PPC_INS_ROTLWI, |
| 1126 | PPC_INS_CLRLWI, |
| 1127 | PPC_INS_ROTLW, |
| 1128 | PPC_INS_SUB, |
| 1129 | PPC_INS_SUBC, |
| 1130 | PPC_INS_LWSYNC, |
| 1131 | PPC_INS_PTESYNC, |
| 1132 | PPC_INS_TDLT, |
| 1133 | PPC_INS_TDEQ, |
| 1134 | PPC_INS_TDGT, |
| 1135 | PPC_INS_TDNE, |
| 1136 | PPC_INS_TDLLT, |
| 1137 | PPC_INS_TDLGT, |
| 1138 | PPC_INS_TDU, |
| 1139 | PPC_INS_TDLTI, |
| 1140 | PPC_INS_TDEQI, |
| 1141 | PPC_INS_TDGTI, |
| 1142 | PPC_INS_TDNEI, |
| 1143 | PPC_INS_TDLLTI, |
| 1144 | PPC_INS_TDLGTI, |
| 1145 | PPC_INS_TDUI, |
| 1146 | PPC_INS_TLBREHI, |
| 1147 | PPC_INS_TLBRELO, |
| 1148 | PPC_INS_TLBWEHI, |
| 1149 | PPC_INS_TLBWELO, |
| 1150 | PPC_INS_TWLT, |
| 1151 | PPC_INS_TWEQ, |
| 1152 | PPC_INS_TWGT, |
| 1153 | PPC_INS_TWNE, |
| 1154 | PPC_INS_TWLLT, |
| 1155 | PPC_INS_TWLGT, |
| 1156 | PPC_INS_TWU, |
| 1157 | PPC_INS_TWLTI, |
| 1158 | PPC_INS_TWEQI, |
| 1159 | PPC_INS_TWGTI, |
| 1160 | PPC_INS_TWNEI, |
| 1161 | PPC_INS_TWLLTI, |
| 1162 | PPC_INS_TWLGTI, |
| 1163 | PPC_INS_TWUI, |
| 1164 | PPC_INS_WAITRSV, |
| 1165 | PPC_INS_WAITIMPL, |
| 1166 | PPC_INS_XNOP, |
| 1167 | PPC_INS_XVMOVDP, |
| 1168 | PPC_INS_XVMOVSP, |
| 1169 | PPC_INS_XXSPLTD, |
| 1170 | PPC_INS_XXMRGHD, |
| 1171 | PPC_INS_XXMRGLD, |
| 1172 | PPC_INS_XXSWAPD, |
| 1173 | PPC_INS_BT, |
| 1174 | PPC_INS_BF, |
| 1175 | PPC_INS_BDNZT, |
| 1176 | PPC_INS_BDNZF, |
| 1177 | PPC_INS_BDZF, |
| 1178 | PPC_INS_BDZT, |
| 1179 | PPC_INS_BFA, |
| 1180 | PPC_INS_BDNZTA, |
| 1181 | PPC_INS_BDNZFA, |
| 1182 | PPC_INS_BDZTA, |
| 1183 | PPC_INS_BDZFA, |
| 1184 | PPC_INS_BTCTR, |
| 1185 | PPC_INS_BFCTR, |
| 1186 | PPC_INS_BTCTRL, |
| 1187 | PPC_INS_BFCTRL, |
| 1188 | PPC_INS_BTL, |
| 1189 | PPC_INS_BFL, |
| 1190 | PPC_INS_BDNZTL, |
| 1191 | PPC_INS_BDNZFL, |
| 1192 | PPC_INS_BDZTL, |
| 1193 | PPC_INS_BDZFL, |
| 1194 | PPC_INS_BTLA, |
| 1195 | PPC_INS_BFLA, |
| 1196 | PPC_INS_BDNZTLA, |
| 1197 | PPC_INS_BDNZFLA, |
| 1198 | PPC_INS_BDZTLA, |
| 1199 | PPC_INS_BDZFLA, |
| 1200 | PPC_INS_BTLR, |
| 1201 | PPC_INS_BFLR, |
| 1202 | PPC_INS_BDNZTLR, |
| 1203 | PPC_INS_BDZTLR, |
| 1204 | PPC_INS_BDZFLR, |
| 1205 | PPC_INS_BTLRL, |
| 1206 | PPC_INS_BFLRL, |
| 1207 | PPC_INS_BDNZTLRL, |
| 1208 | PPC_INS_BDNZFLRL, |
| 1209 | PPC_INS_BDZTLRL, |
| 1210 | PPC_INS_BDZFLRL, |
| 1211 | |
Nguyen Anh Quynh | d7e42b7 | 2014-09-29 17:15:25 +0800 | [diff] [blame] | 1212 | PPC_INS_ENDING, // <-- mark the end of the list of instructions |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 1213 | } ppc_insn; |
| 1214 | |
| 1215 | //> Group of PPC instructions |
| 1216 | typedef enum ppc_insn_group { |
| 1217 | PPC_GRP_INVALID = 0, |
| 1218 | |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 1219 | PPC_GRP_ALTIVEC, |
| 1220 | PPC_GRP_MODE32, |
| 1221 | PPC_GRP_MODE64, |
Nguyen Anh Quynh | 8b915ed | 2014-02-19 17:01:44 +0800 | [diff] [blame] | 1222 | PPC_GRP_BOOKE, |
| 1223 | PPC_GRP_NOTBOOKE, |
Nguyen Anh Quynh | dd3deec | 2014-08-15 13:26:12 +0800 | [diff] [blame] | 1224 | PPC_GRP_SPE, |
| 1225 | PPC_GRP_VSX, |
| 1226 | PPC_GRP_E500, |
| 1227 | PPC_GRP_PPC4XX, |
| 1228 | PPC_GRP_PPC6XX, |
Nguyen Anh Quynh | f1d489b | 2014-01-05 00:00:05 +0800 | [diff] [blame] | 1229 | |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 1230 | PPC_GRP_JUMP, // all jump instructions (conditional+direct+indirect jumps) |
| 1231 | |
Nguyen Anh Quynh | d7e42b7 | 2014-09-29 17:15:25 +0800 | [diff] [blame] | 1232 | PPC_GRP_ENDING, // <-- mark the end of the list of groups |
Nguyen Anh Quynh | 4d22779 | 2013-12-31 21:01:01 +0800 | [diff] [blame] | 1233 | } ppc_insn_group; |
| 1234 | |
| 1235 | #ifdef __cplusplus |
| 1236 | } |
| 1237 | #endif |
| 1238 | |
| 1239 | #endif |