Currently, some fixed point operations (notably multiplication) fail to compile when used in Thumb-mode routines. This occurs because GCC attempts to inline the operation into the Thumb-mode routine, but the operation uses ARM-mode only instructions. This commit adds the ".arm" directive into the inline assembly of the implementation, which informs GCC that the assembly uses ARM-mode instructions and prevents inlining. As a result, fixed point numbers can be used from both ARM-mode and Thumb-mode code without issues! Usage in ARM-mode should still be preferred for optimal performance though.
mtl
C++ STL replacement, intended for embedded systems. Aims to be more performant than ETL.
Description
Languages
C++
84.8%
Assembly
12.8%
CMake
2.4%