1 //! \file 2 /* 3 ** Copyright (C) - Triton 4 ** 5 ** This program is under the terms of the Apache License 2.0. 6 */ 7 8 #ifndef TRITON_AARCH64SPECIFICATIONS_H 9 #define TRITON_AARCH64SPECIFICATIONS_H 10 11 #include <unordered_map> 12 13 #include <triton/archEnums.hpp> 14 #include <triton/architecture.hpp> 15 #include <triton/dllexport.hpp> 16 #include <triton/register.hpp> 17 18 19 20 //! The Triton namespace 21 namespace triton { 22 /*! 23 * \addtogroup triton 24 * @{ 25 */ 26 27 //! The Architecture namespace 28 namespace arch { 29 /*! 30 * \ingroup triton 31 * \addtogroup arch 32 * @{ 33 */ 34 35 //! The ARM namespace 36 namespace arm { 37 /*! 38 * \ingroup arch 39 * \addtogroup arm 40 * @{ 41 */ 42 43 //! The aarch64 namespace 44 namespace aarch64 { 45 /*! 46 * \ingroup arm 47 * \addtogroup aarch64 48 * @{ 49 */ 50 51 //! \class AArch64Specifications 52 /*! \brief The AArch64Specifications class defines specifications about the AArch64 CPU */ 53 class AArch64Specifications { 54 protected: 55 //! List of registers specification available for this architecture. 56 std::unordered_map<triton::arch::register_e, const triton::arch::Register> registers_; 57 58 public: 59 //! Constructor. 60 TRITON_EXPORT AArch64Specifications(triton::arch::architecture_e); 61 62 //! Converts a capstone's register id to a triton's register id. 63 TRITON_EXPORT triton::arch::register_e capstoneRegisterToTritonRegister(triton::uint32 id) const; 64 65 //! Converts a capstone's shift id to a triton's shift id. 66 TRITON_EXPORT triton::arch::arm::shift_e capstoneShiftToTritonShift(triton::uint32 id) const; 67 68 //! Converts a capstone's extend id to a triton's extend id. 69 TRITON_EXPORT triton::arch::arm::extend_e capstoneExtendToTritonExtend(triton::uint32 id) const; 70 71 //! Converts a capstone's condition id to a triton's condition id. 72 TRITON_EXPORT triton::arch::arm::condition_e capstoneConditionToTritonCondition(triton::uint32 id) const; 73 74 //! Converts a capstone's instruction id to a triton's instruction id. 75 TRITON_EXPORT triton::uint32 capstoneInstructionToTritonInstruction(triton::uint32 id) const; 76 }; 77 78 //! The list of opcodes. 79 enum instruction_e { 80 ID_INS_INVALID = 0, //!< invalid 81 ID_INS_ABS, //!< abs 82 ID_INS_ADC, //!< adc 83 ID_INS_ADDHN, //!< addhn 84 ID_INS_ADDHN2, //!< addhn2 85 ID_INS_ADDP, //!< addp 86 ID_INS_ADD, //!< add 87 ID_INS_ADDV, //!< addv 88 ID_INS_ADR, //!< adr 89 ID_INS_ADRP, //!< adrp 90 ID_INS_AESD, //!< aesd 91 ID_INS_AESE, //!< aese 92 ID_INS_AESIMC, //!< aesimc 93 ID_INS_AESMC, //!< aesmc 94 ID_INS_AND, //!< and 95 ID_INS_ASR, //!< asr 96 ID_INS_B, //!< b 97 ID_INS_BFM, //!< bfm 98 ID_INS_BIC, //!< bic 99 ID_INS_BIF, //!< bif 100 ID_INS_BIT, //!< bit 101 ID_INS_BL, //!< bl 102 ID_INS_BLR, //!< blr 103 ID_INS_BR, //!< br 104 ID_INS_BRK, //!< brk 105 ID_INS_BSL, //!< bsl 106 ID_INS_CBNZ, //!< cbnz 107 ID_INS_CBZ, //!< cbz 108 ID_INS_CCMN, //!< ccmn 109 ID_INS_CCMP, //!< ccmp 110 ID_INS_CLREX, //!< clrex 111 ID_INS_CLS, //!< cls 112 ID_INS_CLZ, //!< clz 113 ID_INS_CMEQ, //!< cmeq 114 ID_INS_CMGE, //!< cmge 115 ID_INS_CMGT, //!< cmgt 116 ID_INS_CMHI, //!< cmhi 117 ID_INS_CMHS, //!< cmhs 118 ID_INS_CMLE, //!< cmle 119 ID_INS_CMLT, //!< cmlt 120 ID_INS_CMTST, //!< cmtst 121 ID_INS_CNT, //!< cnt 122 ID_INS_MOV, //!< mov 123 ID_INS_CRC32B, //!< crc32b 124 ID_INS_CRC32CB, //!< crc32cb 125 ID_INS_CRC32CH, //!< crc32ch 126 ID_INS_CRC32CW, //!< crc32cw 127 ID_INS_CRC32CX, //!< crc32cx 128 ID_INS_CRC32H, //!< crc32h 129 ID_INS_CRC32W, //!< crc32w 130 ID_INS_CRC32X, //!< crc32x 131 ID_INS_CSEL, //!< csel 132 ID_INS_CSINC, //!< csinc 133 ID_INS_CSINV, //!< csinv 134 ID_INS_CSNEG, //!< csneg 135 ID_INS_DCPS1, //!< dcps1 136 ID_INS_DCPS2, //!< dcps2 137 ID_INS_DCPS3, //!< dcps3 138 ID_INS_DMB, //!< dmb 139 ID_INS_DRPS, //!< drps 140 ID_INS_DSB, //!< dsb 141 ID_INS_DUP, //!< dup 142 ID_INS_EON, //!< eon 143 ID_INS_EOR, //!< eor 144 ID_INS_ERET, //!< eret 145 ID_INS_EXTR, //!< extr 146 ID_INS_EXT, //!< ext 147 ID_INS_FABD, //!< fabd 148 ID_INS_FABS, //!< fabs 149 ID_INS_FACGE, //!< facge 150 ID_INS_FACGT, //!< facgt 151 ID_INS_FADD, //!< fadd 152 ID_INS_FADDP, //!< faddp 153 ID_INS_FCCMP, //!< fccmp 154 ID_INS_FCCMPE, //!< fccmpe 155 ID_INS_FCMEQ, //!< fcmeq 156 ID_INS_FCMGE, //!< fcmge 157 ID_INS_FCMGT, //!< fcmgt 158 ID_INS_FCMLE, //!< fcmle 159 ID_INS_FCMLT, //!< fcmlt 160 ID_INS_FCMP, //!< fcmp 161 ID_INS_FCMPE, //!< fcmpe 162 ID_INS_FCSEL, //!< fcsel 163 ID_INS_FCVTAS, //!< fcvtas 164 ID_INS_FCVTAU, //!< fcvtau 165 ID_INS_FCVT, //!< fcvt 166 ID_INS_FCVTL, //!< fcvtl 167 ID_INS_FCVTL2, //!< fcvtl2 168 ID_INS_FCVTMS, //!< fcvtms 169 ID_INS_FCVTMU, //!< fcvtmu 170 ID_INS_FCVTNS, //!< fcvtns 171 ID_INS_FCVTNU, //!< fcvtnu 172 ID_INS_FCVTN, //!< fcvtn 173 ID_INS_FCVTN2, //!< fcvtn2 174 ID_INS_FCVTPS, //!< fcvtps 175 ID_INS_FCVTPU, //!< fcvtpu 176 ID_INS_FCVTXN, //!< fcvtxn 177 ID_INS_FCVTXN2, //!< fcvtxn2 178 ID_INS_FCVTZS, //!< fcvtzs 179 ID_INS_FCVTZU, //!< fcvtzu 180 ID_INS_FDIV, //!< fdiv 181 ID_INS_FMADD, //!< fmadd 182 ID_INS_FMAX, //!< fmax 183 ID_INS_FMAXNM, //!< fmaxnm 184 ID_INS_FMAXNMP, //!< fmaxnmp 185 ID_INS_FMAXNMV, //!< fmaxnmv 186 ID_INS_FMAXP, //!< fmaxp 187 ID_INS_FMAXV, //!< fmaxv 188 ID_INS_FMIN, //!< fmin 189 ID_INS_FMINNM, //!< fminnm 190 ID_INS_FMINNMP, //!< fminnmp 191 ID_INS_FMINNMV, //!< fminnmv 192 ID_INS_FMINP, //!< fminp 193 ID_INS_FMINV, //!< fminv 194 ID_INS_FMLA, //!< fmla 195 ID_INS_FMLS, //!< fmls 196 ID_INS_FMOV, //!< fmov 197 ID_INS_FMSUB, //!< fmsub 198 ID_INS_FMUL, //!< fmul 199 ID_INS_FMULX, //!< fmulx 200 ID_INS_FNEG, //!< fneg 201 ID_INS_FNMADD, //!< fnmadd 202 ID_INS_FNMSUB, //!< fnmsub 203 ID_INS_FNMUL, //!< fnmul 204 ID_INS_FRECPE, //!< frecpe 205 ID_INS_FRECPS, //!< frecps 206 ID_INS_FRECPX, //!< frecpx 207 ID_INS_FRINTA, //!< frinta 208 ID_INS_FRINTI, //!< frinti 209 ID_INS_FRINTM, //!< frintm 210 ID_INS_FRINTN, //!< frintn 211 ID_INS_FRINTP, //!< frintp 212 ID_INS_FRINTX, //!< frintx 213 ID_INS_FRINTZ, //!< frintz 214 ID_INS_FRSQRTE, //!< frsqrte 215 ID_INS_FRSQRTS, //!< frsqrts 216 ID_INS_FSQRT, //!< fsqrt 217 ID_INS_FSUB, //!< fsub 218 ID_INS_HINT, //!< hint 219 ID_INS_HLT, //!< hlt 220 ID_INS_HVC, //!< hvc 221 ID_INS_INS, //!< ins 222 ID_INS_ISB, //!< isb 223 ID_INS_LD1, //!< ld1 224 ID_INS_LD1R, //!< ld1r 225 ID_INS_LD2R, //!< ld2r 226 ID_INS_LD2, //!< ld2 227 ID_INS_LD3R, //!< ld3r 228 ID_INS_LD3, //!< ld3 229 ID_INS_LD4, //!< ld4 230 ID_INS_LD4R, //!< ld4r 231 ID_INS_LDARB, //!< ldarb 232 ID_INS_LDARH, //!< ldarh 233 ID_INS_LDAR, //!< ldar 234 ID_INS_LDAXP, //!< ldaxp 235 ID_INS_LDAXRB, //!< ldaxrb 236 ID_INS_LDAXRH, //!< ldaxrh 237 ID_INS_LDAXR, //!< ldaxr 238 ID_INS_LDNP, //!< ldnp 239 ID_INS_LDP, //!< ldp 240 ID_INS_LDPSW, //!< ldpsw 241 ID_INS_LDRB, //!< ldrb 242 ID_INS_LDR, //!< ldr 243 ID_INS_LDRH, //!< ldrh 244 ID_INS_LDRSB, //!< ldrsb 245 ID_INS_LDRSH, //!< ldrsh 246 ID_INS_LDRSW, //!< ldrsw 247 ID_INS_LDTRB, //!< ldtrb 248 ID_INS_LDTRH, //!< ldtrh 249 ID_INS_LDTRSB, //!< ldtrsb 250 ID_INS_LDTRSH, //!< ldtrsh 251 ID_INS_LDTRSW, //!< ldtrsw 252 ID_INS_LDTR, //!< ldtr 253 ID_INS_LDURB, //!< ldurb 254 ID_INS_LDUR, //!< ldur 255 ID_INS_LDURH, //!< ldurh 256 ID_INS_LDURSB, //!< ldursb 257 ID_INS_LDURSH, //!< ldursh 258 ID_INS_LDURSW, //!< ldursw 259 ID_INS_LDXP, //!< ldxp 260 ID_INS_LDXRB, //!< ldxrb 261 ID_INS_LDXRH, //!< ldxrh 262 ID_INS_LDXR, //!< ldxr 263 ID_INS_LSL, //!< lsl 264 ID_INS_LSR, //!< lsr 265 ID_INS_MADD, //!< madd 266 ID_INS_MLA, //!< mla 267 ID_INS_MLS, //!< mls 268 ID_INS_MOVI, //!< movi 269 ID_INS_MOVK, //!< movk 270 ID_INS_MOVN, //!< movn 271 ID_INS_MOVZ, //!< movz 272 ID_INS_MRS, //!< mrs 273 ID_INS_MSR, //!< msr 274 ID_INS_MSUB, //!< msub 275 ID_INS_MUL, //!< mul 276 ID_INS_MVNI, //!< mvni 277 ID_INS_NEG, //!< neg 278 ID_INS_NOT, //!< not 279 ID_INS_ORN, //!< orn 280 ID_INS_ORR, //!< orr 281 ID_INS_PMULL2, //!< pmull2 282 ID_INS_PMULL, //!< pmull 283 ID_INS_PMUL, //!< pmul 284 ID_INS_PRFM, //!< prfm 285 ID_INS_PRFUM, //!< prfum 286 ID_INS_RADDHN, //!< raddhn 287 ID_INS_RADDHN2, //!< raddhn2 288 ID_INS_RBIT, //!< rbit 289 ID_INS_RET, //!< ret 290 ID_INS_REV16, //!< rev16 291 ID_INS_REV32, //!< rev32 292 ID_INS_REV64, //!< rev64 293 ID_INS_REV, //!< rev 294 ID_INS_ROR, //!< ror 295 ID_INS_RSHRN2, //!< rshrn2 296 ID_INS_RSHRN, //!< rshrn 297 ID_INS_RSUBHN, //!< rsubhn 298 ID_INS_RSUBHN2, //!< rsubhn2 299 ID_INS_SABAL2, //!< sabal2 300 ID_INS_SABAL, //!< sabal 301 ID_INS_SABA, //!< saba 302 ID_INS_SABDL2, //!< sabdl2 303 ID_INS_SABDL, //!< sabdl 304 ID_INS_SABD, //!< sabd 305 ID_INS_SADALP, //!< sadalp 306 ID_INS_SADDLP, //!< saddlp 307 ID_INS_SADDLV, //!< saddlv 308 ID_INS_SADDL2, //!< saddl2 309 ID_INS_SADDL, //!< saddl 310 ID_INS_SADDW2, //!< saddw2 311 ID_INS_SADDW, //!< saddw 312 ID_INS_SBC, //!< sbc 313 ID_INS_SBFM, //!< sbfm 314 ID_INS_SCVTF, //!< scvtf 315 ID_INS_SDIV, //!< sdiv 316 ID_INS_SHA1C, //!< sha1c 317 ID_INS_SHA1H, //!< sha1h 318 ID_INS_SHA1M, //!< sha1m 319 ID_INS_SHA1P, //!< sha1p 320 ID_INS_SHA1SU0, //!< sha1su0 321 ID_INS_SHA1SU1, //!< sha1su1 322 ID_INS_SHA256H2, //!< sha256h2 323 ID_INS_SHA256H, //!< sha256h 324 ID_INS_SHA256SU0, //!< sha256su0 325 ID_INS_SHA256SU1, //!< sha256su1 326 ID_INS_SHADD, //!< shadd 327 ID_INS_SHLL2, //!< shll2 328 ID_INS_SHLL, //!< shll 329 ID_INS_SHL, //!< shl 330 ID_INS_SHRN2, //!< shrn2 331 ID_INS_SHRN, //!< shrn 332 ID_INS_SHSUB, //!< shsub 333 ID_INS_SLI, //!< sli 334 ID_INS_SMADDL, //!< smaddl 335 ID_INS_SMAXP, //!< smaxp 336 ID_INS_SMAXV, //!< smaxv 337 ID_INS_SMAX, //!< smax 338 ID_INS_SMC, //!< smc 339 ID_INS_SMINP, //!< sminp 340 ID_INS_SMINV, //!< sminv 341 ID_INS_SMIN, //!< smin 342 ID_INS_SMLAL2, //!< smlal2 343 ID_INS_SMLAL, //!< smlal 344 ID_INS_SMLSL2, //!< smlsl2 345 ID_INS_SMLSL, //!< smlsl 346 ID_INS_SMOV, //!< smov 347 ID_INS_SMSUBL, //!< smsubl 348 ID_INS_SMULH, //!< smulh 349 ID_INS_SMULL2, //!< smull2 350 ID_INS_SMULL, //!< smull 351 ID_INS_SQABS, //!< sqabs 352 ID_INS_SQADD, //!< sqadd 353 ID_INS_SQDMLAL, //!< sqdmlal 354 ID_INS_SQDMLAL2, //!< sqdmlal2 355 ID_INS_SQDMLSL, //!< sqdmlsl 356 ID_INS_SQDMLSL2, //!< sqdmlsl2 357 ID_INS_SQDMULH, //!< sqdmulh 358 ID_INS_SQDMULL, //!< sqdmull 359 ID_INS_SQDMULL2, //!< sqdmull2 360 ID_INS_SQNEG, //!< sqneg 361 ID_INS_SQRDMULH, //!< sqrdmulh 362 ID_INS_SQRSHL, //!< sqrshl 363 ID_INS_SQRSHRN, //!< sqrshrn 364 ID_INS_SQRSHRN2, //!< sqrshrn2 365 ID_INS_SQRSHRUN, //!< sqrshrun 366 ID_INS_SQRSHRUN2, //!< sqrshrun2 367 ID_INS_SQSHLU, //!< sqshlu 368 ID_INS_SQSHL, //!< sqshl 369 ID_INS_SQSHRN, //!< sqshrn 370 ID_INS_SQSHRN2, //!< sqshrn2 371 ID_INS_SQSHRUN, //!< sqshrun 372 ID_INS_SQSHRUN2, //!< sqshrun2 373 ID_INS_SQSUB, //!< sqsub 374 ID_INS_SQXTN2, //!< sqxtn2 375 ID_INS_SQXTN, //!< sqxtn 376 ID_INS_SQXTUN2, //!< sqxtun2 377 ID_INS_SQXTUN, //!< sqxtun 378 ID_INS_SRHADD, //!< srhadd 379 ID_INS_SRI, //!< sri 380 ID_INS_SRSHL, //!< srshl 381 ID_INS_SRSHR, //!< srshr 382 ID_INS_SRSRA, //!< srsra 383 ID_INS_SSHLL2, //!< sshll2 384 ID_INS_SSHLL, //!< sshll 385 ID_INS_SSHL, //!< sshl 386 ID_INS_SSHR, //!< sshr 387 ID_INS_SSRA, //!< ssra 388 ID_INS_SSUBL2, //!< ssubl2 389 ID_INS_SSUBL, //!< ssubl 390 ID_INS_SSUBW2, //!< ssubw2 391 ID_INS_SSUBW, //!< ssubw 392 ID_INS_ST1, //!< st1 393 ID_INS_ST2, //!< st2 394 ID_INS_ST3, //!< st3 395 ID_INS_ST4, //!< st4 396 ID_INS_STLRB, //!< stlrb 397 ID_INS_STLRH, //!< stlrh 398 ID_INS_STLR, //!< stlr 399 ID_INS_STLXP, //!< stlxp 400 ID_INS_STLXRB, //!< stlxrb 401 ID_INS_STLXRH, //!< stlxrh 402 ID_INS_STLXR, //!< stlxr 403 ID_INS_STNP, //!< stnp 404 ID_INS_STP, //!< stp 405 ID_INS_STRB, //!< strb 406 ID_INS_STR, //!< str 407 ID_INS_STRH, //!< strh 408 ID_INS_STTRB, //!< sttrb 409 ID_INS_STTRH, //!< sttrh 410 ID_INS_STTR, //!< sttr 411 ID_INS_STURB, //!< sturb 412 ID_INS_STUR, //!< stur 413 ID_INS_STURH, //!< sturh 414 ID_INS_STXP, //!< stxp 415 ID_INS_STXRB, //!< stxrb 416 ID_INS_STXRH, //!< stxrh 417 ID_INS_STXR, //!< stxr 418 ID_INS_SUBHN, //!< subhn 419 ID_INS_SUBHN2, //!< subhn2 420 ID_INS_SUB, //!< sub 421 ID_INS_SUQADD, //!< suqadd 422 ID_INS_SVC, //!< svc 423 ID_INS_SYSL, //!< sysl 424 ID_INS_SYS, //!< sys 425 ID_INS_TBL, //!< tbl 426 ID_INS_TBNZ, //!< tbnz 427 ID_INS_TBX, //!< tbx 428 ID_INS_TBZ, //!< tbz 429 ID_INS_TRN1, //!< trn1 430 ID_INS_TRN2, //!< trn2 431 ID_INS_UABAL2, //!< uabal2 432 ID_INS_UABAL, //!< uabal 433 ID_INS_UABA, //!< uaba 434 ID_INS_UABDL2, //!< uabdl2 435 ID_INS_UABDL, //!< uabdl 436 ID_INS_UABD, //!< uabd 437 ID_INS_UADALP, //!< uadalp 438 ID_INS_UADDLP, //!< uaddlp 439 ID_INS_UADDLV, //!< uaddlv 440 ID_INS_UADDL2, //!< uaddl2 441 ID_INS_UADDL, //!< uaddl 442 ID_INS_UADDW2, //!< uaddw2 443 ID_INS_UADDW, //!< uaddw 444 ID_INS_UBFM, //!< ubfm 445 ID_INS_UCVTF, //!< ucvtf 446 ID_INS_UDIV, //!< udiv 447 ID_INS_UHADD, //!< uhadd 448 ID_INS_UHSUB, //!< uhsub 449 ID_INS_UMADDL, //!< umaddl 450 ID_INS_UMAXP, //!< umaxp 451 ID_INS_UMAXV, //!< umaxv 452 ID_INS_UMAX, //!< umax 453 ID_INS_UMINP, //!< uminp 454 ID_INS_UMINV, //!< uminv 455 ID_INS_UMIN, //!< umin 456 ID_INS_UMLAL2, //!< umlal2 457 ID_INS_UMLAL, //!< umlal 458 ID_INS_UMLSL2, //!< umlsl2 459 ID_INS_UMLSL, //!< umlsl 460 ID_INS_UMOV, //!< umov 461 ID_INS_UMSUBL, //!< umsubl 462 ID_INS_UMULH, //!< umulh 463 ID_INS_UMULL2, //!< umull2 464 ID_INS_UMULL, //!< umull 465 ID_INS_UQADD, //!< uqadd 466 ID_INS_UQRSHL, //!< uqrshl 467 ID_INS_UQRSHRN, //!< uqrshrn 468 ID_INS_UQRSHRN2, //!< uqrshrn2 469 ID_INS_UQSHL, //!< uqshl 470 ID_INS_UQSHRN, //!< uqshrn 471 ID_INS_UQSHRN2, //!< uqshrn2 472 ID_INS_UQSUB, //!< uqsub 473 ID_INS_UQXTN2, //!< uqxtn2 474 ID_INS_UQXTN, //!< uqxtn 475 ID_INS_URECPE, //!< urecpe 476 ID_INS_URHADD, //!< urhadd 477 ID_INS_URSHL, //!< urshl 478 ID_INS_URSHR, //!< urshr 479 ID_INS_URSQRTE, //!< ursqrte 480 ID_INS_URSRA, //!< ursra 481 ID_INS_USHLL2, //!< ushll2 482 ID_INS_USHLL, //!< ushll 483 ID_INS_USHL, //!< ushl 484 ID_INS_USHR, //!< ushr 485 ID_INS_USQADD, //!< usqadd 486 ID_INS_USRA, //!< usra 487 ID_INS_USUBL2, //!< usubl2 488 ID_INS_USUBL, //!< usubl 489 ID_INS_USUBW2, //!< usubw2 490 ID_INS_USUBW, //!< usubw 491 ID_INS_UZP1, //!< uzp1 492 ID_INS_UZP2, //!< uzp2 493 ID_INS_XTN2, //!< xtn2 494 ID_INS_XTN, //!< xtn 495 ID_INS_ZIP1, //!< zip1 496 ID_INS_ZIP2, //!< zip2 497 498 // Alias 499 ID_INS_MNEG, //!< mneg 500 ID_INS_UMNEGL, //!< umnegl 501 ID_INS_SMNEGL, //!< smnegl 502 ID_INS_NOP, //!< nop 503 ID_INS_YIELD, //!< yield 504 ID_INS_WFE, //!< wfe 505 ID_INS_WFI, //!< wfi 506 ID_INS_SEV, //!< sev 507 ID_INS_SEVL, //!< sevl 508 ID_INS_NGC, //!< ngc 509 ID_INS_SBFIZ, //!< sbfiz 510 ID_INS_UBFIZ, //!< ubfiz 511 ID_INS_SBFX, //!< sbfx 512 ID_INS_UBFX, //!< ubfx 513 ID_INS_BFI, //!< bfi 514 ID_INS_BFXIL, //!< bfxil 515 ID_INS_CMN, //!< cmn 516 ID_INS_MVN, //!< mvn 517 ID_INS_TST, //!< tst 518 ID_INS_CSET, //!< cset 519 ID_INS_CINC, //!< cinc 520 ID_INS_CSETM, //!< csetm 521 ID_INS_CINV, //!< cinv 522 ID_INS_CNEG, //!< cneg 523 ID_INS_SXTB, //!< sxtb 524 ID_INS_SXTH, //!< sxth 525 ID_INS_SXTW, //!< sxtw 526 ID_INS_CMP, //!< cmp 527 ID_INS_UXTB, //!< uxtb 528 ID_INS_UXTH, //!< uxth 529 ID_INS_UXTW, //!< uxtw 530 ID_INS_IC, //!< ic 531 ID_INS_DC, //!< dc 532 ID_INS_AT, //!< at 533 ID_INS_TLBI, //!< tlbi 534 535 /* Must be the last item */ 536 ID_INS_LAST_ITEM //!< must be the last item 537 }; 538 539 /*! @} End of aarch64 namespace */ 540 }; 541 /*! @} End of arm namespace */ 542 }; 543 /*! @} End of arch namespace */ 544 }; 545 /*! @} End of triton namespace */ 546 }; 547 548 #endif /* TRITON_AARCH64SPECIFICATIONS_H */ 549