49 if (0 == ((pa | pb) & (sizeof (TYPE) - 1))) \ 51 TYPE * a = uword_to_pointer (pa, TYPE *); \ 52 TYPE * b = uword_to_pointer (pb, TYPE *); \ 54 while (bytes >= 2*sizeof (TYPE)) \ 56 TYPE a0, a1, b0, b1; \ 57 bytes -= 2*sizeof (TYPE); \ 60 a0 = a[-2]; a1 = a[-1]; \ 61 b0 = b[-2]; b1 = b[-1]; \ 62 a[-2] = b0; a[-1] = b1; \ 63 b[-2] = a0; b[-1] = a1; \ 65 pa = pointer_to_uword (a); \ 66 pb = pointer_to_uword (b); \ 82 u8 a0 = a[0], b0 = b[0];
void clib_memswap(void *_a, void *_b, uword bytes)
static uword pointer_to_uword(const void *p)
#define uword_to_pointer(u, type)