refactored all the SIMD functions through macros in SIMD.h