added assembly code for avx