一、版本信息
R4.1.9版本是在R4.0.0版本基础上进行升级,以R5.1.9版本为目标制作的工具链。最终功能与R5.1.9工具链一致,主要为使用R4.0.0版本工具链的老客户提供支持。本次发布包如下:
mips-gcc720-glibc226-r4.1.9.tar.bz2
mips-gcc720-uclibc0.9.33.2-r4.1.9.tar.bz2
二、R4.1.9、R5.1.9、r4.0.0版本对比
(1) R4.1.9、R5.1.9版本都是在r4.0.0版本上继续升级;
(2) R4.1.9是以R5.1.9版本为目标,合并从r4.0.0版本开始至R5.1.9版本所有修改内容,包括:multilib、mfp64&mfp32、支持simd(msa、mxu、mxu2、mxu3)、double float修复,uclibc库,glibc库等内容;
(3) R4.1.9保留r4.0.0使用习惯同时使用:mips-linux-gnu-和mips-linux-uclibc-gnu-两种前缀的工具;
(4) R4.1.9直接采用体积优化模式编译制作,与R5.1.9的smaller版本相同;
(5) Glibc库: R4.1.9沿用r4.0.0的glibc2.26,并且修复了times库函数返回值存在短暂异常;R5.1.9使用glibc2.29;
(6) uClibc库:R4.1.9、R5.1.9版本都使用uclibc0.9.33.2,并且功能一致,也同样兼容r4.0.0到R5.1.9之间的其他版本。
三、工具链主要支持功能
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-Release4.1.9-Default_xburst2_glibc2.26 MIPS工具链
适用于x86_64(64位)Linux系统:
ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r4.1.9/mips-gcc720-glibc226-r4.1.9.tar.bz2
Ingenic Linux-Release4.1.9-Default_xburst2_uclibc0.9.33.2 MIPS工具链
适用于x86_64(64位)Linux系统:
ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r4.1.9/mips-gcc720-uclibc0.9.33.2-r4.1.9.tar.bz2