/[pearpc]/src/cpu/cpu_jitc_x86/ppc_opc.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /src/cpu/cpu_jitc_x86/ppc_opc.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations)
Wed Sep 5 17:11:21 2007 UTC (16 years, 7 months ago) by dpavlin
File MIME type: text/plain
File size: 3252 byte(s)
import upstream CVS
1 /*
2 * PearPC
3 * ppc_opc.h
4 *
5 * Copyright (C) 2003, 2004 Sebastian Biallas (sb@biallas.net)
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21 #ifndef __PPC_OPC_H__
22 #define __PPC_OPC_H__
23
24 #include "system/types.h"
25 #include "jitc_types.h"
26
27 static inline void ppc_update_cr0(uint32 r)
28 {
29 gCPU.cr &= 0x0fffffff;
30 if (!r) {
31 gCPU.cr |= CR_CR0_EQ;
32 } else if (r & 0x80000000) {
33 gCPU.cr |= CR_CR0_LT;
34 } else {
35 gCPU.cr |= CR_CR0_GT;
36 }
37 if (gCPU.xer & XER_SO) gCPU.cr |= CR_CR0_SO;
38 }
39
40 void ppc_opc_bx();
41 void ppc_opc_bcx();
42 void ppc_opc_bcctrx();
43 void ppc_opc_bclrx();
44
45 void ppc_opc_dcba();
46 void ppc_opc_dcbf();
47 void ppc_opc_dcbi();
48 void ppc_opc_dcbst();
49 void ppc_opc_dcbt();
50 void ppc_opc_dcbtst();
51
52 void ppc_opc_eciwx();
53 void ppc_opc_ecowx();
54 void ppc_opc_eieio();
55
56 void ppc_opc_icbi();
57 void ppc_opc_isync();
58
59 void ppc_opc_mcrf();
60 void ppc_opc_mcrfs();
61 void ppc_opc_mcrxr();
62 void ppc_opc_mfcr();
63 void ppc_opc_mffsx();
64 void ppc_opc_mfmsr();
65 void ppc_opc_mfspr();
66 void ppc_opc_mfsr();
67 void ppc_opc_mfsrin();
68 void ppc_opc_mftb();
69 void ppc_opc_mtcrf();
70 void ppc_opc_mtfsb0x();
71 void ppc_opc_mtfsb1x();
72 void ppc_opc_mtfsfx();
73 void ppc_opc_mtfsfix();
74 void ppc_opc_mtmsr();
75 void ppc_opc_mtspr();
76 void ppc_opc_mtsr();
77 void ppc_opc_mtsrin();
78
79 void ppc_opc_rfi();
80 void ppc_opc_sc();
81 void ppc_opc_sync();
82 void ppc_opc_tlbia();
83 void ppc_opc_tlbie();
84 void ppc_opc_tlbsync();
85 void ppc_opc_tw();
86 void ppc_opc_twi();
87
88 JITCFlow ppc_opc_gen_bx();
89 JITCFlow ppc_opc_gen_bcx();
90 JITCFlow ppc_opc_gen_bcctrx();
91 JITCFlow ppc_opc_gen_bclrx();
92
93 JITCFlow ppc_opc_gen_dcba();
94 JITCFlow ppc_opc_gen_dcbf();
95 JITCFlow ppc_opc_gen_dcbi();
96 JITCFlow ppc_opc_gen_dcbst();
97 JITCFlow ppc_opc_gen_dcbt();
98 JITCFlow ppc_opc_gen_dcbtst();
99
100 JITCFlow ppc_opc_gen_eciwx();
101 JITCFlow ppc_opc_gen_ecowx();
102 JITCFlow ppc_opc_gen_eieio();
103
104 JITCFlow ppc_opc_gen_icbi();
105 JITCFlow ppc_opc_gen_isync();
106
107 JITCFlow ppc_opc_gen_mcrf();
108 JITCFlow ppc_opc_gen_mcrfs();
109 JITCFlow ppc_opc_gen_mcrxr();
110 JITCFlow ppc_opc_gen_mfcr();
111 JITCFlow ppc_opc_gen_mffsx();
112 JITCFlow ppc_opc_gen_mfmsr();
113 JITCFlow ppc_opc_gen_mfspr();
114 JITCFlow ppc_opc_gen_mfsr();
115 JITCFlow ppc_opc_gen_mfsrin();
116 JITCFlow ppc_opc_gen_mftb();
117 JITCFlow ppc_opc_gen_mtcrf();
118 JITCFlow ppc_opc_gen_mtfsb0x();
119 JITCFlow ppc_opc_gen_mtfsb1x();
120 JITCFlow ppc_opc_gen_mtfsfx();
121 JITCFlow ppc_opc_gen_mtfsfix();
122 JITCFlow ppc_opc_gen_mtmsr();
123 JITCFlow ppc_opc_gen_mtspr();
124 JITCFlow ppc_opc_gen_mtsr();
125 JITCFlow ppc_opc_gen_mtsrin();
126
127 JITCFlow ppc_opc_gen_rfi();
128 JITCFlow ppc_opc_gen_sc();
129 JITCFlow ppc_opc_gen_sync();
130 JITCFlow ppc_opc_gen_tlbia();
131 JITCFlow ppc_opc_gen_tlbie();
132 JITCFlow ppc_opc_gen_tlbsync();
133 JITCFlow ppc_opc_gen_tw();
134 JITCFlow ppc_opc_gen_twi();
135
136
137 #endif
138

  ViewVC Help
Powered by ViewVC 1.1.26