Rizin
unix-like reverse engineering framework and cli tools
PPCPredicates.h File Reference
#include "capstone/ppc.h"

Go to the source code of this file.

Typedefs

typedef enum ppc_predicate ppc_predicate
 

Enumerations

enum  ppc_predicate {
  PPC_PRED_LT = (0 << 5) | 12 , PPC_PRED_LE = (1 << 5) | 4 , PPC_PRED_EQ = (2 << 5) | 12 , PPC_PRED_GE = (0 << 5) | 4 ,
  PPC_PRED_GT = (1 << 5) | 12 , PPC_PRED_NE = (2 << 5) | 4 , PPC_PRED_UN = (3 << 5) | 12 , PPC_PRED_NU = (3 << 5) | 4 ,
  PPC_PRED_LT_MINUS = (0 << 5) | 14 , PPC_PRED_LE_MINUS = (1 << 5) | 6 , PPC_PRED_EQ_MINUS = (2 << 5) | 14 , PPC_PRED_GE_MINUS = (0 << 5) | 6 ,
  PPC_PRED_GT_MINUS = (1 << 5) | 14 , PPC_PRED_NE_MINUS = (2 << 5) | 6 , PPC_PRED_UN_MINUS = (3 << 5) | 14 , PPC_PRED_NU_MINUS = (3 << 5) | 6 ,
  PPC_PRED_LT_PLUS = (0 << 5) | 15 , PPC_PRED_LE_PLUS = (1 << 5) | 7 , PPC_PRED_EQ_PLUS = (2 << 5) | 15 , PPC_PRED_GE_PLUS = (0 << 5) | 7 ,
  PPC_PRED_GT_PLUS = (1 << 5) | 15 , PPC_PRED_NE_PLUS = (2 << 5) | 7 , PPC_PRED_UN_PLUS = (3 << 5) | 15 , PPC_PRED_NU_PLUS = (3 << 5) | 7 ,
  PPC_PRED_BIT_SET = 1024 , PPC_PRED_BIT_UNSET = 1025
}
 

Functions

ppc_predicate InvertPredicate (ppc_predicate Opcode)
 Invert the specified predicate. != -> ==, < -> >=. More...
 
ppc_predicate getSwappedPredicate (ppc_predicate Opcode)
 

Typedef Documentation

◆ ppc_predicate

Enumeration Type Documentation

◆ ppc_predicate

Enumerator
PPC_PRED_LT 
PPC_PRED_LE 
PPC_PRED_EQ 
PPC_PRED_GE 
PPC_PRED_GT 
PPC_PRED_NE 
PPC_PRED_UN 
PPC_PRED_NU 
PPC_PRED_LT_MINUS 
PPC_PRED_LE_MINUS 
PPC_PRED_EQ_MINUS 
PPC_PRED_GE_MINUS 
PPC_PRED_GT_MINUS 
PPC_PRED_NE_MINUS 
PPC_PRED_UN_MINUS 
PPC_PRED_NU_MINUS 
PPC_PRED_LT_PLUS 
PPC_PRED_LE_PLUS 
PPC_PRED_EQ_PLUS 
PPC_PRED_GE_PLUS 
PPC_PRED_GT_PLUS 
PPC_PRED_NE_PLUS 
PPC_PRED_UN_PLUS 
PPC_PRED_NU_PLUS 
PPC_PRED_BIT_SET 
PPC_PRED_BIT_UNSET 

Definition at line 23 of file PPCPredicates.h.

23  {
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
ppc_predicate
Definition: PPCPredicates.h:23
@ PPC_PRED_BIT_SET
Definition: PPCPredicates.h:51
@ PPC_PRED_UN
Definition: PPCPredicates.h:30
@ PPC_PRED_GE_MINUS
Definition: PPCPredicates.h:35
@ PPC_PRED_LT_PLUS
Definition: PPCPredicates.h:40
@ PPC_PRED_EQ_MINUS
Definition: PPCPredicates.h:34
@ PPC_PRED_NU
Definition: PPCPredicates.h:31
@ PPC_PRED_GE_PLUS
Definition: PPCPredicates.h:43
@ PPC_PRED_UN_MINUS
Definition: PPCPredicates.h:38
@ PPC_PRED_NE_MINUS
Definition: PPCPredicates.h:37
@ PPC_PRED_NU_PLUS
Definition: PPCPredicates.h:47
@ PPC_PRED_EQ
Definition: PPCPredicates.h:26
@ PPC_PRED_GT
Definition: PPCPredicates.h:28
@ PPC_PRED_LT
Definition: PPCPredicates.h:24
@ PPC_PRED_LT_MINUS
Definition: PPCPredicates.h:32
@ PPC_PRED_LE_MINUS
Definition: PPCPredicates.h:33
@ PPC_PRED_NE_PLUS
Definition: PPCPredicates.h:45
@ PPC_PRED_BIT_UNSET
Definition: PPCPredicates.h:52
@ PPC_PRED_LE
Definition: PPCPredicates.h:25
@ PPC_PRED_GT_PLUS
Definition: PPCPredicates.h:44
@ PPC_PRED_GT_MINUS
Definition: PPCPredicates.h:36
@ PPC_PRED_UN_PLUS
Definition: PPCPredicates.h:46
@ PPC_PRED_GE
Definition: PPCPredicates.h:27
@ PPC_PRED_NE
Definition: PPCPredicates.h:29
@ PPC_PRED_LE_PLUS
Definition: PPCPredicates.h:41
@ PPC_PRED_NU_MINUS
Definition: PPCPredicates.h:39
@ PPC_PRED_EQ_PLUS
Definition: PPCPredicates.h:42

Function Documentation

◆ getSwappedPredicate()

ppc_predicate getSwappedPredicate ( ppc_predicate  Opcode)

Assume the condition register is set by MI(a,b), return the predicate if we modify the instructions such that condition register is set by MI(b,a).

◆ InvertPredicate()

ppc_predicate InvertPredicate ( ppc_predicate  Opcode)

Invert the specified predicate. != -> ==, < -> >=.