fxopt is a plugin for GCC that converts floating-point functions to fixed-point arithmetic, primarily for implementation in embedded, real-time systems without floating-point hardware. The conversion is performed in GCC's "middle-end", after the source code has been converted to GCC's intermediate representation but before any target-specific optimizations are done. Several optimization options are available to improve the accuracy of the fixed-point arithmetic, including affine range estimation, rounding, and double-precision multiplications. Fixed-point code produced by fxopt can be significantly more accurate than typical fixed-point implementations with comparable execution time and code size. In many cases the fixed-point code produced by fxopt provides accuracy comparable to single-precision floating-point arithmetic with a factor of 10 faster execution.