| 304 |
#endif |
#endif |
| 305 |
|
|
| 306 |
#if DATA_SIZE == 8 |
#if DATA_SIZE == 8 |
| 307 |
static inline double glue(ldfq, MEMSUFFIX)(target_ulong ptr) |
static inline float64 glue(ldfq, MEMSUFFIX)(target_ulong ptr) |
| 308 |
{ |
{ |
| 309 |
union { |
union { |
| 310 |
double d; |
float64 d; |
| 311 |
uint64_t i; |
uint64_t i; |
| 312 |
} u; |
} u; |
| 313 |
u.i = glue(ldq, MEMSUFFIX)(ptr); |
u.i = glue(ldq, MEMSUFFIX)(ptr); |
| 314 |
return u.d; |
return u.d; |
| 315 |
} |
} |
| 316 |
|
|
| 317 |
static inline void glue(stfq, MEMSUFFIX)(target_ulong ptr, double v) |
static inline void glue(stfq, MEMSUFFIX)(target_ulong ptr, float64 v) |
| 318 |
{ |
{ |
| 319 |
union { |
union { |
| 320 |
double d; |
float64 d; |
| 321 |
uint64_t i; |
uint64_t i; |
| 322 |
} u; |
} u; |
| 323 |
u.d = v; |
u.d = v; |
| 326 |
#endif /* DATA_SIZE == 8 */ |
#endif /* DATA_SIZE == 8 */ |
| 327 |
|
|
| 328 |
#if DATA_SIZE == 4 |
#if DATA_SIZE == 4 |
| 329 |
static inline float glue(ldfl, MEMSUFFIX)(target_ulong ptr) |
static inline float32 glue(ldfl, MEMSUFFIX)(target_ulong ptr) |
| 330 |
{ |
{ |
| 331 |
union { |
union { |
| 332 |
float f; |
float32 f; |
| 333 |
uint32_t i; |
uint32_t i; |
| 334 |
} u; |
} u; |
| 335 |
u.i = glue(ldl, MEMSUFFIX)(ptr); |
u.i = glue(ldl, MEMSUFFIX)(ptr); |
| 336 |
return u.f; |
return u.f; |
| 337 |
} |
} |
| 338 |
|
|
| 339 |
static inline void glue(stfl, MEMSUFFIX)(target_ulong ptr, float v) |
static inline void glue(stfl, MEMSUFFIX)(target_ulong ptr, float32 v) |
| 340 |
{ |
{ |
| 341 |
union { |
union { |
| 342 |
float f; |
float32 f; |
| 343 |
uint32_t i; |
uint32_t i; |
| 344 |
} u; |
} u; |
| 345 |
u.f = v; |
u.f = v; |