MIPS-LINUX工具链R5.2.1-GCC7.2.0-Glibc2.38版本发布
2023.10.18

一、版本信息

   R5.2.1实际是将R5.1.9版本C库切换为glibc2.38,不支持multilib模式,为了修复y2038问题,编译出的程序只能运行在linux 5.10版本内核。本次发布xburst1和xburst2两款芯片的工具链,包如下:

   mips-ingenic-xburst2-linux-glibc2.38-tools-r5.2.1.tar.bz2

   mips-ingenic-xburst1-linux-glibc2.38-tools-r5.2.1.tar.bz2

 

二、工具链版本信息表

         表3 - Spec2000-train (X2000-1.2ghz) (2核2进程)性能测试表

type

name

gcc7.2.0-glibc2.29-O2 

(单位:s)

gcc7.2.0-glibc2.38-O2

(单位:s)

INT

164.gzip

 49.0  

44.3   

175.vpr

 52.5  

53.1   

176.gcc

  5.17

 5.13  

181.mcf

 74.5  

74.4   

186.crafty

 32.5  

32.4   

197.parser

 13.7  

13.9   

252.eon

 20.8  

20.7   

253.perlbmk

 86.9  

87.0   

254.gap

  8.14

 8.78  

255.vortex

 18.5  

18.4   

256.bzip2

 49.6  

49.8   

300.twolf

 28.8  

28.7   

FP

168.wupwise

  X    

X

171.swim

  54.0

  53.9   

172.mgrid

  60.2

  59.3   

173.applu

  47.4

  46.6   

177.mesa

  83.8

  87.4   

178.galgel

  99.4

 100     

179.art

  52.8

  54.4   

183.equake

  91.1

  91.2   

187.facerec

  68.5

  70.9   

188.ammp

 158   

 155     

189.lucas

 124   

 133     

191.fma3d

 689   

 689     

200.sixtrack

 328   

211         

301.apsi

  X    

X         

 

   

三、工具链主要支持功能

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指令;

 

3.Glibc2.38

   解决Y2038时间问题,使用方法请参考附件《mips Y2038-safe GCC工具链使用说明》。

 

四、获取工具链

温馨提醒:工具链是按不同的运行环境、目标环境、目标芯片分类打包

     工具链中名字带elf编译出的程序用在裸机上运行

     工具链中名字带linux编译出的程序用在linux系统上运行

下载工具链之前请认真查看对应信息,选择适合自己使用的工具链

 

外网下载地址:

(Ingenic MIPS LINUX Tools R5.2.1 Default_xburst2_glibc2.38 2023.10-24 01:26:50)工具链

 适用于x86_6464位)host PC

ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r5.2.1/mips-ingenic-xburst2-linux-glibc2.38-tools-r5.2.1.tar.bz2

 

(Ingenic MIPS LINUX Tools R5.2.1 Default_xburst1_glibc2.38 2023.10-24 01:20:35)工具链

 适用于x86_6464位)host PC

ftp://ftp.ingenic.com.cn/Ingenic-MIPS-Toolchain/releases/ingenic-mips-toolchain-r5.2.1/mips-ingenic-xburst1-linux-glibc2.38-tools-r5.2.1.tar.bz2