add support for arm neon and smp