Rizin
unix-like reverse engineering framework and cli tools
PPCPredicates.h
Go to the documentation of this file.
1
//===-- PPCPredicates.h - PPC Branch Predicate Information ------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file describes the PowerPC branch predicates.
11
//
12
//===----------------------------------------------------------------------===//
13
14
/* Capstone Disassembly Engine */
15
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
16
17
#ifndef CS_POWERPC_PPCPREDICATES_H
18
#define CS_POWERPC_PPCPREDICATES_H
19
20
#include "capstone/ppc.h"
21
22
// NOTE: duplicate of ppc_bc in ppc.h to maitain code compatibility with LLVM
23
typedef
enum
ppc_predicate
{
24
PPC_PRED_LT
= (0 << 5) | 12,
25
PPC_PRED_LE
= (1 << 5) | 4,
26
PPC_PRED_EQ
= (2 << 5) | 12,
27
PPC_PRED_GE
= (0 << 5) | 4,
28
PPC_PRED_GT
= (1 << 5) | 12,
29
PPC_PRED_NE
= (2 << 5) | 4,
30
PPC_PRED_UN
= (3 << 5) | 12,
31
PPC_PRED_NU
= (3 << 5) | 4,
32
PPC_PRED_LT_MINUS
= (0 << 5) | 14,
33
PPC_PRED_LE_MINUS
= (1 << 5) | 6,
34
PPC_PRED_EQ_MINUS
= (2 << 5) | 14,
35
PPC_PRED_GE_MINUS
= (0 << 5) | 6,
36
PPC_PRED_GT_MINUS
= (1 << 5) | 14,
37
PPC_PRED_NE_MINUS
= (2 << 5) | 6,
38
PPC_PRED_UN_MINUS
= (3 << 5) | 14,
39
PPC_PRED_NU_MINUS
= (3 << 5) | 6,
40
PPC_PRED_LT_PLUS
= (0 << 5) | 15,
41
PPC_PRED_LE_PLUS
= (1 << 5) | 7,
42
PPC_PRED_EQ_PLUS
= (2 << 5) | 15,
43
PPC_PRED_GE_PLUS
= (0 << 5) | 7,
44
PPC_PRED_GT_PLUS
= (1 << 5) | 15,
45
PPC_PRED_NE_PLUS
= (2 << 5) | 7,
46
PPC_PRED_UN_PLUS
= (3 << 5) | 15,
47
PPC_PRED_NU_PLUS
= (3 << 5) | 7,
48
49
// When dealing with individual condition-register bits, we have simple set
50
// and unset predicates.
51
PPC_PRED_BIT_SET
= 1024,
52
PPC_PRED_BIT_UNSET
= 1025
53
}
ppc_predicate
;
54
56
ppc_predicate
InvertPredicate
(
ppc_predicate
Opcode
);
57
60
ppc_predicate
getSwappedPredicate
(
ppc_predicate
Opcode
);
61
62
#endif
InvertPredicate
ppc_predicate InvertPredicate(ppc_predicate Opcode)
Invert the specified predicate. != -> ==, < -> >=.
getSwappedPredicate
ppc_predicate getSwappedPredicate(ppc_predicate Opcode)
ppc_predicate
ppc_predicate
Definition:
PPCPredicates.h:23
PPC_PRED_BIT_SET
@ PPC_PRED_BIT_SET
Definition:
PPCPredicates.h:51
PPC_PRED_UN
@ PPC_PRED_UN
Definition:
PPCPredicates.h:30
PPC_PRED_GE_MINUS
@ PPC_PRED_GE_MINUS
Definition:
PPCPredicates.h:35
PPC_PRED_LT_PLUS
@ PPC_PRED_LT_PLUS
Definition:
PPCPredicates.h:40
PPC_PRED_EQ_MINUS
@ PPC_PRED_EQ_MINUS
Definition:
PPCPredicates.h:34
PPC_PRED_NU
@ PPC_PRED_NU
Definition:
PPCPredicates.h:31
PPC_PRED_GE_PLUS
@ PPC_PRED_GE_PLUS
Definition:
PPCPredicates.h:43
PPC_PRED_UN_MINUS
@ PPC_PRED_UN_MINUS
Definition:
PPCPredicates.h:38
PPC_PRED_NE_MINUS
@ PPC_PRED_NE_MINUS
Definition:
PPCPredicates.h:37
PPC_PRED_NU_PLUS
@ PPC_PRED_NU_PLUS
Definition:
PPCPredicates.h:47
PPC_PRED_EQ
@ PPC_PRED_EQ
Definition:
PPCPredicates.h:26
PPC_PRED_GT
@ PPC_PRED_GT
Definition:
PPCPredicates.h:28
PPC_PRED_LT
@ PPC_PRED_LT
Definition:
PPCPredicates.h:24
PPC_PRED_LT_MINUS
@ PPC_PRED_LT_MINUS
Definition:
PPCPredicates.h:32
PPC_PRED_LE_MINUS
@ PPC_PRED_LE_MINUS
Definition:
PPCPredicates.h:33
PPC_PRED_NE_PLUS
@ PPC_PRED_NE_PLUS
Definition:
PPCPredicates.h:45
PPC_PRED_BIT_UNSET
@ PPC_PRED_BIT_UNSET
Definition:
PPCPredicates.h:52
PPC_PRED_LE
@ PPC_PRED_LE
Definition:
PPCPredicates.h:25
PPC_PRED_GT_PLUS
@ PPC_PRED_GT_PLUS
Definition:
PPCPredicates.h:44
PPC_PRED_GT_MINUS
@ PPC_PRED_GT_MINUS
Definition:
PPCPredicates.h:36
PPC_PRED_UN_PLUS
@ PPC_PRED_UN_PLUS
Definition:
PPCPredicates.h:46
PPC_PRED_GE
@ PPC_PRED_GE
Definition:
PPCPredicates.h:27
PPC_PRED_NE
@ PPC_PRED_NE
Definition:
PPCPredicates.h:29
PPC_PRED_LE_PLUS
@ PPC_PRED_LE_PLUS
Definition:
PPCPredicates.h:41
PPC_PRED_NU_MINUS
@ PPC_PRED_NU_MINUS
Definition:
PPCPredicates.h:39
PPC_PRED_EQ_PLUS
@ PPC_PRED_EQ_PLUS
Definition:
PPCPredicates.h:42
Opcode_t
Definition:
armass64.c:77
subprojects
capstone-bundled
arch
PowerPC
PPCPredicates.h
Generated by
1.9.1