1 // [AsmJit]
2 // Complete JIT Assembler for C++ Language.
3 //
4 // [License]
5 // Zlib - See COPYING file in this package.
6 
7 #define ASMJIT_EXPORTS
8 
9 // [Dependencies - AsmJit]
10 #include "../x86/x86defs.h"
11 
12 // [Api-Begin]
13 #include "../core/apibegin.h"
14 
15 namespace AsmJit {
16 
17 // ============================================================================
18 // [AsmJit::_x86UtilJccFromCond]
19 // ============================================================================
20 
21 const uint32_t _x86UtilJccFromCond[20] =
22 {
23   kX86InstJO,
24   kX86InstJNO,
25   kX86InstJB,
26   kX86InstJAE,
27   kX86InstJE,
28   kX86InstJNE,
29   kX86InstJBE,
30   kX86InstJA,
31   kX86InstJS,
32   kX86InstJNS,
33   kX86InstJPE,
34   kX86InstJPO,
35   kX86InstJL,
36   kX86InstJGE,
37   kX86InstJLE,
38   kX86InstJG,
39 
40   kInstNone,
41   kInstNone,
42   kInstNone,
43   kInstNone
44 };
45 
46 // ============================================================================
47 // [AsmJit::_x86UtilMovccFromCond]
48 // ============================================================================
49 
50 const uint32_t _x86UtilMovccFromCond[20] =
51 {
52   kX86InstCMovO,
53   kX86InstCMovNO,
54   kX86InstCMovB,
55   kX86InstCMovAE,
56   kX86InstCMovE,
57   kX86InstCMovNE,
58   kX86InstCMovBE,
59   kX86InstCMovA,
60   kX86InstCMovS,
61   kX86InstCMovNS,
62   kX86InstCMovPE,
63   kX86InstCMovPO,
64   kX86InstCMovL,
65   kX86InstCMovGE,
66   kX86InstCMovLE,
67   kX86InstCMovG,
68 
69   kInstNone,
70   kInstNone,
71   kInstNone,
72   kInstNone
73 };
74 
75 // ============================================================================
76 // [AsmJit::_x86UtilSetccFromCond]
77 // ============================================================================
78 
79 const uint32_t _x86UtilSetccFromCond[20] =
80 {
81   kX86InstSetO,
82   kX86InstSetNO,
83   kX86InstSetB,
84   kX86InstSetAE,
85   kX86InstSetE,
86   kX86InstSetNE,
87   kX86InstSetBE,
88   kX86InstSetA,
89   kX86InstSetS,
90   kX86InstSetNS,
91   kX86InstSetPE,
92   kX86InstSetPO,
93   kX86InstSetL,
94   kX86InstSetGE,
95   kX86InstSetLE,
96   kX86InstSetG,
97 
98   kInstNone,
99   kInstNone,
100   kInstNone,
101   kInstNone
102 };
103 
104 // ============================================================================
105 // [AsmJit::_x86UtilReversedCond]
106 // ============================================================================
107 
108 const uint32_t _x86UtilReversedCond[20] =
109 {
110   /* x86CondO  -> */ kX86CondO,
111   /* x86CondNO -> */ kX86CondNO,
112   /* x86CondB  -> */ kX86CondA,
113   /* x86CondAE -> */ kX86CondBE,
114   /* x86CondE  -> */ kX86CondE,
115   /* x86CondNE -> */ kX86CondNE,
116   /* x86CondBE -> */ kX86CondAE,
117   /* x86CondA  -> */ kX86CondB,
118   /* x86CondS  -> */ kX86CondS,
119   /* x86CondNS -> */ kX86CondNS,
120   /* x86CondPE -> */ kX86CondPE,
121   /* x86CondPO -> */ kX86CondPO,
122 
123   /* x86CondL  -> */ kX86CondG,
124   /* x86CondGE -> */ kX86CondLE,
125 
126   /* x86CondLE -> */ kX86CondGE,
127   /* x86CondG  -> */ kX86CondL,
128 
129   /* kX86CondFpuUnordered    -> */ kX86CondFpuUnordered,
130   /* kX86CondFpuNotUnordered -> */ kX86CondFpuNotUnordered,
131 
132   0x12,
133   0x13
134 };
135 
136 } // AsmJit namespace
137 
138 #include "../core/apiend.h"
139