相应文件修改完成后,务必单击右上角“保存”,保存修改内容。
在“源码迁移建议”页面,查看Makefile文件的修改建议,如图3所示。
根据以上建议,Makefile文件中需要给CFLAGS变量增加选项内容“-march=armv8-a -fsigned-char”,同时,还需要删除CFLAGS变量中的选项“-mpopcnt”和“-msse3”。获取并安装鲲鹏系统库2.3.1历史版本(KSL)后,在GLIBS变量前面中添加“-I /usr/local/ksl/include/ -L /usr/local/ksl/lib/ -lavx2ki”。
该示例以编辑器版本GCC 4.8.5为例,高版本“-march=armv8-a -fsigned-char”选项会有不同,请根据提示建议进行修改。
修改后的代码(修改时进行了x86_64分支和aarch64分支的区分处理),如图6所示。
在“源码迁移建议”页面,查看ksw.c文件的修改建议,如图7和图8所示。
这种提示都是关于intrinsic函数使用方面的内容。根据提供的建议,单击“QuickFix”增加‘#include "avx2ki.h"’到ksw.c文件中,并针对x86和aarch64分别设置头文件包含的分支定义,以确保在代码同时适配x86和aarch64两种架构的情况下完成代码的修改,如下方回显内容所示(以编辑器版本GCC 4.8.5为例)。
1 #if defined(__aarch64__) 2 #include "avx2ki.h" 3 #endif ... 31 #if defined(__x86_64__) 32 #include <emmintrin.h> 33 #endif