ARM 浮點小知識
一: ARM實現(xiàn)浮點運算的類型
有三種方法實現(xiàn)ARM的浮點運算,而且通常這三種方法在ARM與其編譯器的發(fā)展時間
上是串行的.
(1): Linux Kernel 的 Floating point emulation,即內核完成浮點模擬(用戶模式代碼通過系統(tǒng)調用由內核完成);
(2): gcc 編譯器帶的libc實現(xiàn)軟件浮點運算;
(3): ARM硬件浮點運算,由ARM協(xié)處理器完成真正的硬件浮點運算(舊的ARM不支持).
二: GNU gcc 編譯器浮點編譯選項(加入CFLAGS變量中)
(1): -mfloat-abi=soft <==> -msoft-float
由gcc的libc完成.
(2): -mfloat-abi=softfp
由gcc的libc完成.
(3): -mfloat-abi-hard <==> -mhard-float
由ARM硬件完成.
(4): --fpu=name name-->{none, vfpv, vfpv3,vfpv3_fp16,fpe, ...}.
評論