hard/soft float
Opened this issue · 1 comments
this project uses --target-arch thumb
. Before now it was my understanding that for each architecture target, such as thumb
, it is known whether or not it has hardware float support. Are there multiple versions of thumb, some that have hardware float support, and some that do not?
Yes, floating-point on ARM is essentially an extension that you can include or exclude when designing an SoC. Although for every architecture there is a default.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491e/CIHCJIFE.html
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472j/chr1359124231926.html
In GCC you would specify it like this: "-mfloat-abi=hard -mfpu=fpv4-sp-d16" or " -mfloat-abi=soft"
Another thing to be aware of with ARM is that "thumb" is not really a separate architecture, but a mode. Thumb is a compressed version of the instruction set. In GCC you can select wether to use thumb or the full instruction set from file to file, or even function to function.