话说在最近,FPC社区搞了个大动作,终于支持了LoongArch架构,也就是龙芯指令集,这下可是给国产芯片加了把劲儿。原来FPC是个挺有年头的东西,它出生于1998年,一直活到现在都快20多年了,不仅能跑在x86、ARM、MIPS这些主流硬件上,还专门去照顾了LoongArch这种比较冷门的处理器。它最大的本事就是把Turbo Pascal还有Delphi的语法都给兼容了,咱们的老代码不用改就能直接在新机器上跑。而且这玩意不光在桌面上能使,嵌在服务器或者工业控制设备里也一样管用。凭着这些优势,FPC早就有了不少的应用生态。 这次他们为了支持LoongArch,一共提交了13个Commit,改了大概2万行代码。主要是把编译器前端和运行时库给改了一下。这下可好,FPC就能在编译的时候自动认出是LoongArch的目标机器,然后生成那种经过高度优化的机器码;运行时库里也加了对这个架构特有寄存器和指令的支持。这一块拼图一补齐,LoongArch上想写Pascal程序的朋友就有了更硬的底座。 接下来龙芯团队还打算搞个“三箭齐发”。首先是把FPC的LoongArch版本拿出来长期维护;然后给IDE开发环境Lazarus也加点支持,让开发者在图形界面下就能跨平台干活;最后还打算优化一下后端代码,针对LoongArch特有的流水线和寄存器做深度调优。要是大家用着发现有什么性能瓶颈或者兼容问题,都可以通过PR给社区提意见,一起把它变得更好。 最近不光是FPC在挺龙芯,那个LLVM国际开源软件社区也加入了阵营。作为另一款核心基础设施软件,LLVM的加入让LoongArch的生态朋友圈又扩大了一圈。以后想在FPC基础上开发中间件、框架什么的应用迁移起来就更方便了。