diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/platform.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/platform.h b/include/platform.h index c365d5c8c..50365a31c 100644 --- a/include/platform.h +++ b/include/platform.h | |||
@@ -236,6 +236,7 @@ typedef uint64_t bb__aliased_uint64_t FIX_ALIASING; | |||
236 | # define move_from_unaligned32(v, u32p) ((v) = *(bb__aliased_uint32_t*)(u32p)) | 236 | # define move_from_unaligned32(v, u32p) ((v) = *(bb__aliased_uint32_t*)(u32p)) |
237 | # define move_to_unaligned16(u16p, v) (*(bb__aliased_uint16_t*)(u16p) = (v)) | 237 | # define move_to_unaligned16(u16p, v) (*(bb__aliased_uint16_t*)(u16p) = (v)) |
238 | # define move_to_unaligned32(u32p, v) (*(bb__aliased_uint32_t*)(u32p) = (v)) | 238 | # define move_to_unaligned32(u32p, v) (*(bb__aliased_uint32_t*)(u32p) = (v)) |
239 | # define move_to_unaligned64(u64p, v) (*(bb__aliased_uint64_t*)(u64p) = (v)) | ||
239 | /* #elif ... - add your favorite arch today! */ | 240 | /* #elif ... - add your favorite arch today! */ |
240 | #else | 241 | #else |
241 | # define BB_UNALIGNED_MEMACCESS_OK 0 | 242 | # define BB_UNALIGNED_MEMACCESS_OK 0 |
@@ -252,6 +253,10 @@ typedef uint64_t bb__aliased_uint64_t FIX_ALIASING; | |||
252 | uint32_t __t = (v); \ | 253 | uint32_t __t = (v); \ |
253 | memcpy((u32p), &__t, 4); \ | 254 | memcpy((u32p), &__t, 4); \ |
254 | } while (0) | 255 | } while (0) |
256 | # define move_to_unaligned64(u64p, v) do { \ | ||
257 | uint64_t __t = (v); \ | ||
258 | memcpy((u64p), &__t, 8); \ | ||
259 | } while (0) | ||
255 | #endif | 260 | #endif |
256 | 261 | ||
257 | /* Unaligned, fixed-endian accessors */ | 262 | /* Unaligned, fixed-endian accessors */ |