summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/powerpc/drc_ops.h
blob: ad9fe332994eaa19f4282179454eec1aeb739231 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
static const PPC_OPCODE ppcdrc_opcode_common[] =
{
	/*code  subcode         handler                 */
	{ 31,	266,			recompile_addx				},
	{ 31,	266 | 512,		recompile_addx				},
	{ 31,	10,				recompile_addcx				},
	{ 31,	10 | 512,		recompile_addcx				},
	{ 31,	138,			recompile_addex				},
	{ 31,	138 | 512,		recompile_addex				},
	{ 14,	-1,				recompile_addi				},
	{ 12,	-1,				recompile_addic				},
	{ 13,	-1,				recompile_addic_rc			},
	{ 15,	-1,				recompile_addis				},
	{ 31,	234,			recompile_addmex			},
	{ 31,	234 | 512,		recompile_addmex			},
	{ 31,	202,			recompile_addzex			},
	{ 31,	202 | 512,		recompile_addzex			},
	{ 31,	28,				recompile_andx				},
	{ 31,	28 | 512,		recompile_andx				},
	{ 31,	60,				recompile_andcx				},
	{ 28,	-1,				recompile_andi_rc			},
	{ 29,	-1,				recompile_andis_rc			},
	{ 18,	-1,				recompile_bx				},
	{ 16,	-1,				recompile_bcx				},
	{ 19,	528,			recompile_bcctrx			},
	{ 19,	16,				recompile_bclrx				},
	{ 31,	0,				recompile_cmp				},
	{ 11,	-1,				recompile_cmpi				},
	{ 31,	32,				recompile_cmpl				},
	{ 10,	-1,				recompile_cmpli				},
	{ 31,	26,				recompile_cntlzw			},
	{ 19,	257,			recompile_crand				},
	{ 19,	129,			recompile_crandc			},
	{ 19,	289,			recompile_creqv				},
	{ 19,	225,			recompile_crnand			},
	{ 19,	33,				recompile_crnor				},
	{ 19,	449,			recompile_cror				},
	{ 19,	417,			recompile_crorc				},
	{ 19,	193,			recompile_crxor				},
	{ 31,	86,				recompile_dcbf				},
	{ 31,	470,			recompile_dcbi				},
	{ 31,	54,				recompile_dcbst				},
	{ 31,	278,			recompile_dcbt				},
	{ 31,	246,			recompile_dcbtst			},
	{ 31,	1014,			recompile_dcbz				},
	{ 31,	491,			recompile_divwx				},
	{ 31,	491 | 512,		recompile_divwx				},
	{ 31,	459,			recompile_divwux			},
	{ 31,	459 | 512,		recompile_divwux			},
	{ 31,	854,			recompile_eieio				},
	{ 31,	284,			recompile_eqvx				},
	{ 31,	954,			recompile_extsbx			},
	{ 31,	922,			recompile_extshx			},
	{ 31,	982,			recompile_icbi				},
	{ 19,	150,			recompile_isync				},
	{ 34,	-1,				recompile_lbz				},
	{ 35,	-1,				recompile_lbzu				},
	{ 31,	119,			recompile_lbzux				},
	{ 31,	87,				recompile_lbzx				},
	{ 42,	-1,				recompile_lha				},
	{ 43,	-1,				recompile_lhau				},
	{ 31,	375,			recompile_lhaux				},
	{ 31,	343,			recompile_lhax				},
	{ 31,	790,			recompile_lhbrx				},
	{ 40,	-1,				recompile_lhz				},
	{ 41,	-1,				recompile_lhzu				},
	{ 31,	311,			recompile_lhzux				},
	{ 31,	279,			recompile_lhzx				},
	{ 46,	-1,				recompile_lmw				},
	{ 31,	597,			recompile_lswi				},
	{ 31,	533,			recompile_lswx				},
	{ 31,	20,				recompile_lwarx				},
	{ 31,	534,			recompile_lwbrx				},
	{ 32,	-1,				recompile_lwz				},
	{ 33,	-1,				recompile_lwzu				},
	{ 31,	55,				recompile_lwzux				},
	{ 31,	23,				recompile_lwzx				},
	{ 19,	0,				recompile_mcrf				},
	{ 31,	512,			recompile_mcrxr				},
	{ 31,	19,				recompile_mfcr				},
	{ 31,	83,				recompile_mfmsr				},
	{ 31,	339,			recompile_mfspr				},
	{ 31,	144,			recompile_mtcrf				},
	{ 31,	146,			recompile_mtmsr				},
	{ 31,	467,			recompile_mtspr				},
	{ 31,	75,				recompile_mulhwx			},
	{ 31,	11,				recompile_mulhwux			},
	{ 7,	-1,				recompile_mulli				},
	{ 31,	235,			recompile_mullwx			},
	{ 31,	235 | 512,		recompile_mullwx			},
	{ 31,	476,			recompile_nandx				},
	{ 31,	104,			recompile_negx				},
	{ 31,	104 | 512,		recompile_negx				},
	{ 31,	124,			recompile_norx				},
	{ 31,	444,			recompile_orx				},
	{ 31,	412,			recompile_orcx				},
	{ 24,	-1,				recompile_ori				},
	{ 25,	-1,				recompile_oris				},
	{ 19,	50,				recompile_rfi				},
	{ 20,	-1,				recompile_rlwimix			},
	{ 21,	-1,				recompile_rlwinmx			},
	{ 23,	-1,				recompile_rlwnmx			},
	{ 17,	-1,				recompile_sc				},
	{ 31,	24,				recompile_slwx				},
	{ 31,	792,			recompile_srawx				},
	{ 31,	824,			recompile_srawix			},
	{ 31,	536,			recompile_srwx				},
	{ 38,	-1,				recompile_stb				},
	{ 39,	-1,				recompile_stbu				},
	{ 31,	247,			recompile_stbux				},
	{ 31,	215,			recompile_stbx				},
	{ 44,	-1,				recompile_sth				},
	{ 31,	918,			recompile_sthbrx			},
	{ 45,	-1,				recompile_sthu				},
	{ 31,	439,			recompile_sthux				},
	{ 31,	407,			recompile_sthx				},
	{ 47,	-1,				recompile_stmw				},
	{ 31,	725,			recompile_stswi				},
	{ 31,	661,			recompile_stswx				},
	{ 36,	-1,				recompile_stw				},
	{ 31,	662,			recompile_stwbrx			},
	{ 31,	150,			recompile_stwcx_rc			},
	{ 37,	-1,				recompile_stwu				},
	{ 31,	183,			recompile_stwux				},
	{ 31,	151,			recompile_stwx				},
	{ 31,	40,				recompile_subfx				},
	{ 31,	40 | 512,		recompile_subfx				},
	{ 31,	8,				recompile_subfcx			},
	{ 31,	8 | 512,		recompile_subfcx			},
	{ 31,	136,			recompile_subfex			},
	{ 31,	136 | 512,		recompile_subfex			},
	{ 8,	-1,				recompile_subfic			},
	{ 31,	232,			recompile_subfmex			},
	{ 31,	232 | 512,		recompile_subfmex			},
	{ 31,	200,			recompile_subfzex			},
	{ 31,	200 | 512,		recompile_subfzex			},
	{ 31,	598,			recompile_sync				},
	{ 31,	4,				recompile_tw				},
	{ 3,	-1,				recompile_twi				},
	{ 31,	316,			recompile_xorx				},
	{ 26,	-1,				recompile_xori				},
	{ 27,	-1,				recompile_xoris				}
};