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