A

FloppyFloat: An Open Source Floating Point Library for Instruction Set Simulators

Abstract

Instruction Set Simulators (ISSs) are important software tools that facilitate the simulation of arbitrary compute systems. One of the most challenging aspects of ISS development is the modeling of Floating Point (FP) arithmetic. Despite an industry standard specifically created to avoid fragmentation, every Instruction Set Architecture (ISA) comes with an individual definition of FP arithmetic. Hence, many simulators, such as gem5 or Spike, do not use the Floating Point Unit (FPU) of the host system, but resort to soft float libraries. These libraries offer great flexibility and portability by calculating FP instructions by means of integer arithmetic. However, using tens or hundreds of integer instructions to model a single FP instruction is detrimental to the simulator's performance. Tackling the poor performance of soft float libraries, we present FloppyFloat- an open-source FP library for ISSs. FloppyFloat leverages the host FPU for basic calculations and rectifies corner cases in software. In comparison to the popular Berkeley SoftFloat, FloppyFloat achieves speedups of up to 5.5× for individual instructions. As a replacement for SoftFloat in the RISC-V golden reference simulator Spike, FloppyFloat accelerates common FP benchmarks by up to 1.41×.

Authors 3

  1. RWTH Aachen University

    Affiliation as printed

    RWTH Aachen University, Institute for Communication Technologies and Embedded Systems

  2. RWTH Aachen University

    Affiliation as printed

    RWTH Aachen University, Institute for Communication Technologies and Embedded Systems

  3. RWTH Aachen University

    Affiliation as printed

    RWTH Aachen University, Institute for Communication Technologies and Embedded Systems

Cited by 1 stored of 1

1 result

No patents citing this paper on Lens.org (checked 2026-10-06).

References 17

17 results