SiFive Begins Adding RISC-V "Bullet" Microarchitecture Code To LLVM

Written by Michael Larabel in LLVM on 26 September 2020 at 03:57 AM EDT. Add A Comment
On Friday night patches began to appear for "RISC-V Bullet" in the LLVM compiler code-base.

The initial work is on the scheduler being added for the RISC-V Bullet. The initial scheduler is in place for the RISC-V Bullet microarchitecture and bullet-rv32 / bullet-rv64 naming.

The scheduler code does reveal some key bits such as the SiFive Bullet has dual pipelines. The first pipeline handles memory / integer ALU / vector operations while the second pipeline is for integer ALU / control flow / integer multiply / divide / floating point computations. Bullet supports dispatching two micro-ops per cycle. This Bullet support was worked on by two SiFive engineers.

But as far as other details go on SiFive's RISC-V Bullet microarchitecture, this is the first appearance of it within LLVM (or GCC) and search results haven't been of any help turning up any other relevant references for this seemingly yet-to-be-launched RISC-V microarchitecture update.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week