ffb67f472070c995d362d7cc6ac2698276c8becd
[linux-3.10.git] / include / asm-h8300 / unaligned.h
1 #ifndef __H8300_UNALIGNED_H
2 #define __H8300_UNALIGNED_H
3
4
5 /* Use memmove here, so gcc does not insert a __builtin_memcpy. */
6
7 #define get_unaligned(ptr) \
8   ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
9
10 #define put_unaligned(val, ptr)                         \
11   ({ __typeof__(*(ptr)) __tmp = (val);                  \
12      memmove((ptr), &__tmp, sizeof(*(ptr)));            \
13      (void)0; })
14
15 #endif