We can't push/pop optimize options because they don't apply for inlined functions. Function attributes also won't apply for inlined functions. Because most (if not all) vector operations are inlined, neither of these are appropriate options. However, GCC 8.1 introduces a new pragma, unroll, that allows us to unroll specific loops. This pragma does apply for inlined functions.
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%