Revision 61c04807 target-ppc/op.c

b/target-ppc/op.c
122 122
#define REG 31
123 123
#include "op_template.h"
124 124

  
125
void OPPROTO op_print_mem_EA (void)
126
{
127
    do_print_mem_EA(T0);
128
    RETURN();
129
}
130

  
131 125
/* PowerPC state maintenance operations */
132 126
/* set_Rc0 */
133 127
void OPPROTO op_set_Rc0 (void)
......
136 130
    RETURN();
137 131
}
138 132

  
139
/* Constants load */
140
void OPPROTO op_reset_T0 (void)
141
{
142
    T0 = 0;
143
    RETURN();
144
}
145

  
146 133
void OPPROTO op_set_T0 (void)
147 134
{
148 135
    T0 = (uint32_t)PARAM1;
......
203 190
    do_raise_exception_err(PARAM1, PARAM2);
204 191
}
205 192

  
206
void OPPROTO op_update_nip (void)
207
{
208
    env->nip = (uint32_t)PARAM1;
209
    RETURN();
210
}
211

  
212
#if defined(TARGET_PPC64)
213
void OPPROTO op_update_nip_64 (void)
214
{
215
    env->nip = ((uint64_t)PARAM1 << 32) | (uint64_t)PARAM2;
216
    RETURN();
217
}
218
#endif
219

  
220 193
void OPPROTO op_debug (void)
221 194
{
222 195
    do_raise_exception(EXCP_DEBUG);
223 196
}
224 197

  
225
/* Load/store special registers */
226
void OPPROTO op_load_cr (void)
227
{
228
    do_load_cr();
229
    RETURN();
230
}
231

  
232
void OPPROTO op_store_cr (void)
233
{
234
    do_store_cr(PARAM1);
235
    RETURN();
236
}
237

  
238
void OPPROTO op_load_cro (void)
239
{
240
    T0 = env->crf[PARAM1];
241
    RETURN();
242
}
243

  
244
void OPPROTO op_store_cro (void)
245
{
246
    env->crf[PARAM1] = T0;
247
    RETURN();
248
}
249

  
250 198
void OPPROTO op_load_xer_cr (void)
251 199
{
252 200
    T0 = (xer_so << 3) | (xer_ov << 2) | (xer_ca << 1);
......
352 300
}
353 301
#endif
354 302

  
355
void OPPROTO op_load_msr (void)
356
{
357
    T0 = env->msr;
358
    RETURN();
359
}
360

  
361
void OPPROTO op_store_msr (void)
362
{
363
    do_store_msr();
364
    RETURN();
365
}
366

  
367
#if defined (TARGET_PPC64)
368
void OPPROTO op_store_msr_32 (void)
369
{
370
    T0 = (env->msr & ~0xFFFFFFFFULL) | (T0 & 0xFFFFFFFF);
371
    do_store_msr();
372
    RETURN();
373
}
374
#endif
375

  
376 303
void OPPROTO op_update_riee (void)
377 304
{
378 305
    /* We don't call do_store_msr here as we won't trigger
......
1377 1304
    RETURN();
1378 1305
}
1379 1306

  
1380
void OPPROTO op_popcntb (void)
1381
{
1382
    do_popcntb();
1383
    RETURN();
1384
}
1385

  
1386
#if defined(TARGET_PPC64)
1387
void OPPROTO op_popcntb_64 (void)
1388
{
1389
    do_popcntb_64();
1390
    RETURN();
1391
}
1392
#endif
1393

  
1394 1307
/***                            Integer logical                            ***/
1395 1308
/* and */
1396 1309
void OPPROTO op_and (void)

Also available in: Unified diff