RVISmith: Fuzzing Compilers for RVV Intrinsics
Yibo He, Cunjian Huang, Xianmiao Qu, Hongdeng Chen, Wei Yang, Tao Xie

TL;DR
RVISmith is a specialized fuzzer designed to detect bugs in compilers for RVV SIMD intrinsics by generating diverse, well-defined C programs, leading to the discovery of previously unknown compiler bugs.
Contribution
The paper introduces RVISmith, a novel randomized fuzzer for RVV intrinsics that achieves high coverage and finds new compiler bugs through differential testing.
Findings
Achieves 11.5x higher intrinsic coverage than previous methods.
Detects 13 previously unknown bugs in GCC, LLVM, and XuanTie compilers.
Fixes for 3 bugs have been implemented by developers.
Abstract
Modern processors are equipped with single instruction multiple data (SIMD) instructions for fine-grained data parallelism. Compiler auto-vectorization techniques that target SIMD instructions face performance limitations due to insufficient information available at compile time, requiring programmers to manually manipulate SIMD instructions. SIMD intrinsics, a type of built-in function provided by modern compilers, enable programmers to manipulate SIMD instructions within high-level programming languages. Bugs in compilers for SIMD intrinsics can introduce potential threats to software security, producing unintended calculation results, data loss, program crashes, etc. To detect bugs in compilers for SIMD intrinsics, we propose RVISmith, a randomized fuzzer that generates well-defined C programs that include various invocation sequences of RVV (RISC-V Vector Extension) intrinsics. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
