aligned_byte_mask
c |= aligned_byte_mask(align);
val &= ~aligned_byte_mask(align);
val &= aligned_byte_mask(size);