已获取“sse2neon.h”文件,获取路径:https://github.com/DLTcollab/sse2neon/blob/master/sse2neon.h。
unzip hisat-0.1.6-beta-source.zip
cd hisat-0.1.6-beta
export NO_TBB=1
export POPCNT_CAPABILITY=0
BITS=32 ifeq (x86_64,$(shell uname -m)) BITS=64 endif
修改后:
BITS=32 ifeq (x86_64,$(shell uname -m)) BITS=64 endif ifeq (aarch64,$(shell uname -m)) BITS=64 endif
ifeq (32,$(BITS)) BITS_FLAG = -m32 endif ifeq (64,$(BITS)) BITS_FLAG = -m64 endif SSE_FLAG=-msse2
修改后:
ifeq (32,$(BITS)) BITS_FLAG = -m32 endif ifeq (64,$(BITS)) BITS_FLAG = -m64 endif SSE_FLAG=-msse2 ifeq (aarch64,$(shell uname -m)) BITS_FLAG = SSE_FLAG = endif
DEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\"" RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\"" NOASSERT_FLAGS = -DNDEBUG FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
修改后:
DEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) -funroll-loops -std=c++98 DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\"" RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 -std=c++98 -Xlinker --allow-multiple-definition RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\"" NOASSERT_FLAGS = -DNDEBUG FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
cp sse2neon.h /path/to/GNU/include
#include <emmintrin.h>
修改后:
#include <sse2neon.h>
同理修改“sse_util.h”文件。
make
export PATH=/path/to/HISAT/hisat-0.1.6-beta:$PATH