Revision 01a4afeb target-ppc/op_helper_mem.h

b/target-ppc/op_helper_mem.h
309 309
    T0 = i;
310 310
}
311 311

  
312
/* XXX: TAGs are not managed */
313
void glue(do_POWER2_lfq, MEMSUFFIX) (void)
314
{
315
    FT0 = glue(ldfq, MEMSUFFIX)((uint32_t)T0);
316
    FT1 = glue(ldfq, MEMSUFFIX)((uint32_t)(T0 + 4));
317
}
318

  
319
static always_inline float64 glue(ldfqr, MEMSUFFIX) (target_ulong EA)
320
{
321
    CPU_DoubleU u;
322

  
323
    u.d = glue(ldfq, MEMSUFFIX)(EA);
324
    u.ll = bswap64(u.ll);
325

  
326
    return u.d;
327
}
328

  
329
void glue(do_POWER2_lfq_le, MEMSUFFIX) (void)
330
{
331
    FT0 = glue(ldfqr, MEMSUFFIX)((uint32_t)(T0 + 4));
332
    FT1 = glue(ldfqr, MEMSUFFIX)((uint32_t)T0);
333
}
334

  
335
void glue(do_POWER2_stfq, MEMSUFFIX) (void)
336
{
337
    glue(stfq, MEMSUFFIX)((uint32_t)T0, FT0);
338
    glue(stfq, MEMSUFFIX)((uint32_t)(T0 + 4), FT1);
339
}
340

  
341
static always_inline void glue(stfqr, MEMSUFFIX) (target_ulong EA, float64 d)
342
{
343
    CPU_DoubleU u;
344

  
345
    u.d = d;
346
    u.ll = bswap64(u.ll);
347
    glue(stfq, MEMSUFFIX)(EA, u.d);
348
}
349

  
350
void glue(do_POWER2_stfq_le, MEMSUFFIX) (void)
351
{
352
    glue(stfqr, MEMSUFFIX)((uint32_t)(T0 + 4), FT0);
353
    glue(stfqr, MEMSUFFIX)((uint32_t)T0, FT1);
354
}
355

  
356 312
#undef MEMSUFFIX

Also available in: Unified diff