The development of the RISC-V toolchain has evolved from being driven by a few early companies to an active ecosystem with multiple collaborations. Currently, there are dozens of companies involved in upstream toolchain development, with SiFive being one of them.
On July 18, at the fifth RISC-V China Summit’s Software and Ecosystem Subforum, SiFive RISC-V toolchain development engineer Cheng Huangjia shared the latest progress and future directions of the company’s RISC-V toolchain.

In the context of rapid technological iteration, updates and optimizations of toolchain versions have garnered significant attention from developers. Cheng Huangjia highlighted several features of the SiFive RISC-V toolchain that have a substantial impact on general users.
Vector Resource Optimization: Stable and Wide Coverage Upgrades
Vector resources have not just emerged this year; they were supported in GCC version 14. However, after more than a year of continuous iteration and improvement, the vector resources in GCC version 15 have shown significant advantages. They are not only more stable but also have a wider coverage, providing developers with more robust vector computation support. Meanwhile, RISC-V’s optimization work for vectorization is also progressing rapidly.
Security Extensions and RVA23 Support: Dual Assurance of Security and Standards
Control Flow Integrity (CFI), as a critical security extension, plays a vital role in ensuring the safe operation of programs. Previously, the implementation of control flow integrity lagged behind, but significant progress has been made recently, gradually achieving completeness. Although other parts have not yet fully synchronized, downstream developers can compensate for this shortcoming by building complete control flow resources. Additionally, the toolchain has fully supported the RVA23 standard. Although there is still some room for optimization in this standard, users can already utilize the RVA23-related features normally, providing developers with more options and assurances in applying security standards.
Munction Multiversioning: A Tool for Simplifying Multi-Version Compilation
To address the demand for function multi-version compilation, the toolchain has introduced the “Munction Multiversioning” feature, with syntax similar to that of X86/Arm, greatly facilitating developers. If developers need to compile a specific function using an extension, they can simply specify the corresponding syntax. If multiple versions of a function are needed, they can automatically compile multiple copies of code through “target – Clone” and select the appropriate version based on priority. This feature significantly simplifies the previous manual copy-paste operations, improving compilation efficiency and saving developers’ time and effort.
In the future, the SiFive RISC-V toolchain will focus on advancing control flow integrity, with plans to complete related optimizations within the year. At the same time, new extension features will continue to be introduced. This year, new extensions such as “Zilsd” have emerged upstream, and more manufacturers like Qualcomm, Andes, and T-head have begun actively participating in upstream maintenance work. Cheng Huangjia emphasized that pushing technology upstream is a “win-win” strategy. For upstream, it can gain more technical resources, making the toolchain more complete; for downstream developers, maintenance work will become more convenient, allowing them to enjoy the advantages brought by new technologies more quickly.
In terms of vector extensions, SiFive has proposed some standardized solutions. This proposal aims to integrate the common needs of various manufacturers, reducing downstream maintenance costs. Even if SiFive’s proposal is not ultimately adopted, its contributions during this process are expected to promote the formation of industry-wide common standards. This is of great significance for the development of the entire industry, facilitating technical exchanges and cooperation between different manufacturers, and improving the universality and compatibility of vector extension technologies.
Cheng Huangjia called on developers to pay attention to the progress of the SiFive RISC-V toolchain, participate in syntax discussions, and join SiFive for development, testing, and performance evaluation. He emphasized that the rapid development of the RISC-V toolchain relies on the joint efforts of the community, and he looks forward to more developers contributing their strength.