一、版本信息
R5.1.7版本是在R5.1.6继续升级,主要针对Xburst2系列芯片。另外在此次发布中加入CODESIZE裁剪版(.smaller后缀)。本次发布版本包如下:
mips-linux-gnu-ingenic-gcc7.2.0-glibc2.29-fp64-r5.1.7.tar.bz2
mips-linux-gnu-ingenic-gcc7.2.0-uclibc0.9.33.2-fp64-r5.1.7.tar.bz2
mips-linux-gnu-ingenic-gcc7.2.0-glibc2.29-fp64-r5.1.7.smaller.tar.bz2
mips-linux-gnu-ingenic-gcc7.2.0-uclibc0.9.33.2-fp64-r5.1.7.smaller.tar.bz2
二、对比R5.1.6, 主要修改如下:
1. GCC 7.2.0:
1)尾部调用优化。
2. Binutils 2.27
1)优化跳转指令。
3.codesize裁剪版本(smaller)
1)uclibc库裁剪去除模块:
# UCLIBC_HAS_LFS
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
# UCLIBC_HAS_WORDEXP
# UCLIBC_HAS_FTS
# UCLIBC_HAS_LOCALE
2)glibc和uclibc库全部采用-Os选项编译(正常版本采用-O2选项编译):主要针对codesize深度优化,使用上并无较大差异;
3)在libc的uclibc的库目录下单独提取一份lib-2.1M用作目标满足部分客户需求:去除了libgfortran库。
其他说明:
(1)使用Xburst2系列芯片的用户请尽快升级工具链,Xburst1系列芯片用户可不做升级;
(2)本次发布只发布Linux环境linux工具,Linux环境elf工具和Windows版本工具将在后续发布;
(3)本次修正不涉及手册及相关文档的修改,所有关于指令和内建函数的使用依旧以手册为准。
三、工具链主要支持功能
1.GCC7.2.0
支持: MSA 和 MXA(君正自主研发的SIMD128指令)指令;
支持: MSA 和 MXA(君正自主研发的SIMD128指令)指令的intrinsic函数具体使用方法请参考附件中的《MSA Built-in Functions – IngenicWiki.pdf》;
支持:MXU2(君正自主研发的SIMD128指令)指令;
支持:MXU2(君正自主研发的SIMD128指令)指令的intrinsic函数. 具体使用方法请参考附件中的《MXU2-User-Guide.pdf》;
支持:默认 little endian;-mno-branch-likely;
支持:选项 -mslsa; 默认不生成 LSA 指令;
支持:选项 -mfused-madd; 默认不生成 FMA 指令;
支持:选项 -mfusion, 支持 Xburst2 macro fusion;
支持:设置 __builtin_prefetch 为 barrier .
支持:选项-mmxu3;MXU3(君正自主研发的SIMD512指令)指令;
支持:选项-mmxu3;MXU3(君正自主研发的SIMD512指令)指令的intrinsic函数. 具体使用方法请参考附件中的《MXU3 Toolchain使用说明》、《MXU3(SIMD512)_Intrinsic_Guide.pdf》;
支持:选项-mxu3-ext-abi;
支持:选项-mmxu3.1;MXU3.1(君正自主研发的SIMD512指令)指令;
支持:选项-mmxu3;MXU3.1(君正自主研发的SIMD512指令)指令的intrinsic函数;
支持:选项-msave-restore=N,支持当函数内部使用寄存器个数达到N(N为具体数字)个时,函数入口处统一对寄存器进行保存,从而优化代码体积。
2.Binutils:
支持:MXU3.1指令;
支持:MXU3指令;
支持:MXU2指令;
支持:MXU指令;
支持:MSA和MXA指令;
四、获取工具链
温馨提醒:下载工具链之前请认真查看对应信息,选择适合自己使用的工具链。
外网下载地址:
Ingenic Linux-Release5.1.7-Default_xburst2_glibc2.29 MIPS工具链
适用于x86_64(64位)Linux系统:
ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r5.1.7/mips-linux-gnu-ingenic-gcc7.2.0-glibc2.29-fp64-r5.1.7.tar.bz2
Ingenic Linux-Release5.1.7-Default_xburst2_uclibc0.9.33.2 MIPS工具链
适用于x86_64(64位)Linux系统:
ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r5.1.7/mips-linux-gnu-ingenic-gcc7.2.0-uclibc0.9.33.2-fp64-r5.1.7.tar.bz2
Ingenic Linux-Release5.1.7.smaller-Default_xburst2_glibc2.29 MIPS工具链
适用于x86_64(64位)Linux系统:
ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r5.1.7/mips-linux-gnu-ingenic-gcc7.2.0-glibc2.29-fp64-r5.1.7.smaller.tar.bz2
Ingenic Linux-Release5.1.7.smaller-Default_xburst2_uclibc0.9.33.2 MIPS工具链
适用于x86_64(64位)Linux系统:
ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r5.1.7/mips-linux-gnu-ingenic-gcc7.2.0-uclibc0.9.33.2-fp64-r5.1.7.smaller.tar.bz2