RVISmith: Fuzzing Compilers for RVV Intrinsics

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: He, Yibo, Huang, Cunjian, Qu, Xianmiao, Chen, Hongdeng, Yang, Wei, Xie, Tao
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866915372228149248
author He, Yibo
Huang, Cunjian
Qu, Xianmiao
Chen, Hongdeng
Yang, Wei
Xie, Tao
author_facet He, Yibo
Huang, Cunjian
Qu, Xianmiao
Chen, Hongdeng
Yang, Wei
Xie, Tao
contents 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 design RVISmith to achieve the following objectives: (i) achieving high intrinsic coverage, (ii) improving sequence variety, and (iii) without known undefined behaviors. We implement RVISmith based on the ratified RVV intrinsic specification and evaluate our approach with three modern compilers: GCC, LLVM, and XuanTie. Experimental results show that RVISmith achieves 11.5 times higher intrinsic coverage than the state-of-the-art fuzzer for RVV intrinsics. By differential testing that compares results across different compilers, optimizations, and equivalent programs, we detect and report 13 previously unknown bugs of the three compilers under test to date. Of these bugs, 10 are confirmed and another 3 are fixed by the compiler developers.
format Preprint
id arxiv_https___arxiv_org_abs_2507_03773
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle RVISmith: Fuzzing Compilers for RVV Intrinsics
He, Yibo
Huang, Cunjian
Qu, Xianmiao
Chen, Hongdeng
Yang, Wei
Xie, Tao
Cryptography and Security
Distributed, Parallel, and Cluster Computing
Programming Languages
Software Engineering
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 design RVISmith to achieve the following objectives: (i) achieving high intrinsic coverage, (ii) improving sequence variety, and (iii) without known undefined behaviors. We implement RVISmith based on the ratified RVV intrinsic specification and evaluate our approach with three modern compilers: GCC, LLVM, and XuanTie. Experimental results show that RVISmith achieves 11.5 times higher intrinsic coverage than the state-of-the-art fuzzer for RVV intrinsics. By differential testing that compares results across different compilers, optimizations, and equivalent programs, we detect and report 13 previously unknown bugs of the three compilers under test to date. Of these bugs, 10 are confirmed and another 3 are fixed by the compiler developers.
title RVISmith: Fuzzing Compilers for RVV Intrinsics
topic Cryptography and Security
Distributed, Parallel, and Cluster Computing
Programming Languages
Software Engineering
url https://arxiv.org/abs/2507.03773