Since ARM defines a standard floating-point instruction set, we can still utilize the floating-point ABI even if our chip does not support the actual hardware. If we are not using hardware floating-point operations, we can simply build our program without using the floating-point compatible ABI. The ARM EABI specification defines two incompatible ABIs: one which uses floating-point registers for function arguments, and another which does not. The ARM EABI defines the rules for an ARM platform, and your compiler will build your program according to those rules. ARM EABIĪn ABI is a specification which defines the rules that a generated program must follow to work with a specific platform or interface. An Overview of the ARM Floating-Point Architectureīefore we dive into compiler options, there are a few ARM floating-point details we should familiarize ourselves with: the ARM EABI, VFP, and NEON. I imagine this is confusing to other developers as well, so I’d like to share my ARM floating-point cheat sheet with the world. When I first started bringing up new ARM platforms, I was pretty confused by the various floating point options such as -mfloat-abi=softfp or -mfpu=fpv4-sp-d16.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |