標題: ARM GCC浮點相關總結(jié) [打印本頁]
作者: 51hei小林 時間: 2016-9-25 10:51
標題: ARM GCC浮點相關總結(jié)
1、名字解釋:
ABI,application binary interface (ABI),應用程序二進制接口。
2、編譯版本問題:
GCC 4.0 為分界線
4.0版本以下,由于采用OABI接口,其對浮點的支持不太好
4.0版本以上,采用了新的EABI接口,其對軟浮點和硬浮點的支持都比較好。
考慮在4.0版本以下時,其支持的ARM內(nèi)核大多數(shù)沒有硬浮點,所以可以分析資料比較少,
現(xiàn)在重點關注4.0版本以上。以下所述都是針對4.0版本以上的。
3、編譯器相關的參數(shù):
-mfloat-abi=soft 使用這個參數(shù)時,其將調(diào)用軟浮點庫(softfloat lib)來支持對浮點的運算,GCC編譯器已經(jīng)有這個庫了,一般在libgcc里面。這時根本不會使用任何浮點指令,而是采用常用的指令來模擬浮點運算。 但使用的ARM芯片不支持硬浮點時,可以考慮使用這個參數(shù)。在使用這個參數(shù)時,連接時一般會出現(xiàn)下面的提示:
undefined reference to `__aeabi_fdiv'
或者類似的提示,主要因為一般情況下連接器沒有去主動尋找軟浮點庫,這時使用將libgcc庫加入即可。
-mfloat-abi=softfp
-mfloat-abi=hard
這兩個參數(shù)都用來產(chǎn)生硬浮點指令,至于產(chǎn)生哪里類型的硬浮點指令,需要由-mfpu=xxx參數(shù)來指令。這兩個參數(shù)不同的地方是:
-mfloat-abi=softfp生成的代碼采用兼容軟浮點調(diào)用接口(即使用-mfloat-abi=soft時的調(diào)用接口),這樣帶來的好處是:兼 容性和靈活性。庫可以采用-mfloat-abi=soft編譯,而關鍵的應用程序可以采用-mfloat-abi=softfp來編譯。特別是在庫由第 三方發(fā)布的情況下。
-mfloat-abi=hard生成的代碼采用硬浮點(FPU)調(diào)用接口。這樣要求所有庫和應用程序必須采用這同一個參數(shù)來編譯,否則連接時會出現(xiàn)接口不兼容錯誤。
-mfpu=vfp
-mfpu=fpa
...
前面已經(jīng)講述了,-mfpu參數(shù)就是用來指定要產(chǎn)生哪種硬浮點指令。常見的有vfp,fpa等。
4、編譯器使用時要注意的地方:
a.確認編譯器默認是使用哪種參數(shù)來處理浮點操作的。寫一個簡單的浮點數(shù)程序:
#include <stdio.h>
int main(void)
{
double d1 = 10.3;
double d2 = 2.0;
double dret = d1/d2;
dret++;
printf("result :%f",dret);
return 0;
}
然后使用
arm-linux-gcc -c main.c -o main.o
再使用
arm-linux-objdump -d main.o
然后觀察產(chǎn)生的指令,從而確定默認使用的是軟浮點還是硬浮點。(確認的過程,看個人;我谎郏锩嫒绻胁皇煜ぶ噶睿强赡芫褪怯哺↑c指令了)
b.確認編譯器所帶的庫使用哪種參數(shù)來編譯的。
c.確認所使用的芯片是否支持硬浮點,如果支持,是哪種類型的浮點指令。如果1,2與使用的芯片相沖突,這時就要考慮另尋編譯器了。
這三點確認以后,我們在寫自己的應用程序時,就會知道該怎樣使用這些參數(shù)了。
5、Linux相關問題:
這里涉及兩個問題:
問題1:使用的ARM芯片不支持硬浮點
在配置ARM Linux內(nèi)核時,應該都會看到這樣的配置:
menu "Floating point emulation"
comment "At least one emulation must be selected"
config FPE_NWFPE
...
這個是用來配置在內(nèi)核里面模擬浮點處理器。
這個配置有什么作用呢?估計很少有人能夠知道。其實它是這樣的:
當使用的ARM芯片不支持硬浮點,而又采用了-mfpu=fpa -mfloat-abi=softfp/hard來編譯應用程序。現(xiàn)在應該知道,采用這樣的參數(shù)是要參數(shù)fpa硬浮點指令。但是使用的ARM芯片不支持硬 浮點,這時這個配置就其作用了。因為使用了fpa硬浮點指令,但使用的ARM芯片不支持硬浮點,這樣當程序運行到fpa硬浮點指令,會出現(xiàn)指令異常,便會 陷入到內(nèi)核里,這時這個模擬浮點處理器就來模擬這些浮點指令,F(xiàn)在應該清楚了,其作用了吧。但是現(xiàn)在有了更好的辦法,前面已經(jīng)講過了,采用 -mfloat-abi=soft參數(shù)來編譯應用程序,這樣效率會快得多。想想從用戶態(tài)切換到內(nèi)核態(tài),以及由此產(chǎn)生的cache和TLB表的損失。所以可 以考慮將這個配置拋棄了。
問題2:使用的ARM芯片支持硬浮點
一般ARM芯片支持硬浮點,都是采用協(xié)處理器方式的。與ARM內(nèi)核本身一樣,協(xié)處理器也有自己的寄存器。這樣當多個進程同時涉及浮點運算時,會怎樣?所以Linux內(nèi)核為了支持硬浮點,也要做一些工作的。
內(nèi)核配置:
config VFP
bool "VFP-format floating point maths"
depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
如果使用的ARM芯片支持硬浮點,同時在應用程序里面使用了硬浮點,那么內(nèi)核可能需要做一些工作。。上面這個配置是針對vfp硬浮點處理器的;如果是其他 硬浮點處理,需要參考相關的資料,來確認要做哪些功能。如果可以確保所有時候,可以確保只有一個進程使用硬浮點處理器,那可以不需要考慮對硬浮點相關寄存 器的保存和切換,問題是可以確認嗎?
對于浮點運算,針對ARM芯片應該盡量避免。如果無法避免,那就需要綜合考慮到底使用哪種方式?如何去操作?性能如何?都需要考慮,去實驗測試是最好的。
| 歡迎光臨 (http://m.izizhuan.cn/bbs/) |
Powered by Discuz! X3.1 |
成人中文字幕+乱码+中文字幕|
国产成人免费观看网站|
久久久在线免费观看|
综合日韩在线|
碰碰在线视频|
亚洲精品人成网在线播放影院|
xxxx一级片|
欧美一区二区三区在线免费观看|
色综合久久88|
日韩色视频在线观看|
自拍偷拍欧美精品|
国产最新精品精品你懂的|
国产一区二区精品福利地址|
97成人资源|
美州a亚洲一视本频v色道|
自拍在线播放|
欧美视频一二区|
www.国产高清|
中文字幕免费视频|
在线观看高清免费视频|
中文字幕日韩一区二区三区不卡|
国产精品久久中文|
欧美成人亚洲成人日韩成人|
精品国产一区二区三区av性色|
国产一区二区不卡|
国产一区日韩欧美|
国产传媒在线|
色资源在线观看|
中文字幕三级电影|
男人天堂网视频|
一区二区不卡视频|
精品亚洲第一|
国产亚洲日本欧美韩国|
欧美亚洲国产一区在线观看网站|
亚洲色图在线播放|
久久亚洲精品小早川怜子|
老司机精品视频在线|
欧美激情四色|
日本美女久久|
午夜激情在线观看视频|
中文字幕超碰在线|
红桃视频亚洲|
在线播放免费视频|
国产成人精品一区二|
校园春色另类视频|
精品国产乱码一区二区三区|
国产呻吟对白刺激无套视频在线|
欧美日韩综合高清一区二区|
亚洲AV无码精品国产|
av大片在线免费观看|
婷婷伊人五月天|
色无极影院亚洲|
屁屁影院国产第一页|
中文字幕第三区|
中文字幕日韩综合|
91精品无人成人www|
成人在线免费播放视频|
久久黄色片视频|
精品久久久久久久久久中文字幕|
人人妻人人澡人人爽欧美一区双|
中文字幕中文字幕99|
亚洲最大色综合成人av|
一本色道婷婷久久欧美|
亚洲欧美日韩国产成人综合一二三区|
久久精品一二三区|
国产日韩在线一区二区三区|
国产精品我不卡|
国产精品久久久久久久久久直播|
国产在线不卡精品|
国产精品视频内|
国产欧美亚洲精品|
91中文字幕在线观看|
色偷偷偷综合中文字幕;dd|
欧美区日韩区|
99精品在免费线中文字幕网站一区|
久久影视精品|
超碰个人在线|
欧洲毛片在线|
国产午夜视频在线观看|
精品电影在线|
成人免费视屏|
丝袜美腿一区|
ady日本映画久久精品一区二区|
日本99精品|
免费看成人吃奶视频在线|
久久99国内|
欧美黄色aaaa|
日本va欧美va欧美va精品|
成人嘿咻视频免费看|
色综合蜜月久久综合网|
欧美日韩亚洲三区|
青娱乐精品视频|
成人av网址在线|
最好看的中文字幕久久|
天天免费综合色|
日韩三级视频在线观看|
亚洲人成在线观|
欧美人与性动交|
国产精品人成电影|
久久综合一区二区三区|
一本大道东京热无码aⅴ|
成人性生生活性生交12|
在线xxxxx|
欧美极品aaaaabbbbb|
一级一级黄色片|
天堂网www在线资源中文|
在线看污网站|
日韩写真在线|
亚洲按摩av|
动漫一区二区三区|
99热国内精品永久免费观看|
亚洲专区一区|
久久久久久久久久美女|
欧美色播在线播放|
精品国产91久久久久久老师|
在线电影院国产精品|
91精品啪在线观看国产60岁|
亚洲欧美日韩直播|
日韩在线视频免费观看高清中文|
91精品国产高清|
精品无码久久久久久久动漫|
99热亚洲精品|
亚洲一区二区三区无码久久|
国产美女激情视频|
男男h黄动漫啪啪无遮挡软件|
亚洲AV成人无码网站天堂久久|
久久久久久久黄色|
九九热在线视频播放|
精品国自产在线观看|
国产欧美久久久精品免费|
免费在线观看国产黄|
一级片免费看|
松下纱荣子在线观看|
黄色成人美女网站|
久久精品一区|
亚洲日穴在线视频|
亚洲精品美女在线观看|
国产精品ⅴa在线观看h|
亚洲资源在线网|
欧美双性人妖o0|
中文字幕乱码视频|
99久久亚洲精品日本无码|
国产卡1卡2卡三卡在线|
色视频在线观看免费|
成人在线高清|
亚洲第一区色|
国产一区二区三区美女|
亚洲一区在线播放|
欧美日韩国产一二三|
欧美高跟鞋交xxxxhd|
国产区精品视频|
精品无码一区二区三区爱欲|
蜜臀久久99精品久久久久久|
午夜老司机福利|
97在线观看免费高清视频|
国产精品字幕|
午夜影院日韩|
丁香五六月婷婷久久激情|
另类色图亚洲色图|
亚洲精品一区二区三区av|
中文在线永久免费观看|
av中文字幕播放|
精品国产美女福利到在线不卡|
视频国产在线观看|
国产ts一区|
高清成人在线观看|
日韩免费电影一区|
久久免费精品视频|
一级全黄肉体裸体全过程|
国产免费无遮挡吸奶头视频|
亚洲爱爱天堂|
成年人在线视频|
亚洲精华一区二区三区|
97se亚洲国产综合在线|
日韩电影免费观看在线观看|
超碰97国产在线|
无码人妻丰满熟妇啪啪网站|
精品国产无码一区二区三区|
三级在线视频|
美女亚洲一区|
国产欧美精品国产国产专区|
在线日韩av观看|
一区二区三区四区|
日本高清一二三区|
免费在线观看的黄色网址|
亚洲精品日产|
免费不卡在线视频|
欧美一区二区三区四区高清|
不卡一卡2卡3卡4卡精品在|
污片免费在线观看|
久久综合第一页|
888av在线视频|
久久精品在线|
欧美一区二区女人|
久久精品美女|
欧美激情图片小说|
色先锋影音岛国av资源|
精品久久久免费视频|
九色porny蝌蚪视频在线观看|
顶级网黄在线播放|
黑人一区二区|
色婷婷av一区二区三区软件|
91欧美精品午夜性色福利在线
|
日韩av一二三四|
中文字字幕在线观看|
亚洲成人av在线影院|
国产精品最新|
亚洲福利视频一区二区|
国产精品极品尤物在线观看|
欧洲成人午夜精品无码区久久|
天天干在线观看|
国产91足控脚交在线观看|
免费观看成人www动漫视频|
久久久不卡影院|
色综合久久88色综合天天看泰|
欧美日韩在线免费播放|
亚洲爱爱综合网|
国产不卡123|
成人综合激情网|
欧美精品在线视频观看|
午夜精品免费看|
欧美一区二区三区久久综|
国产精品黄色片|
国产三级三级三级精品8ⅰ区|
亚洲3p在线观看|
完美搭档在线观看|
在线观看成年人网站|
果冻天美麻豆一区二区国产|
亚洲妇熟xx妇色黄|
99re6热在线精品视频播放速度|
日本 片 成人 在线|
亚洲人午夜射精精品日韩|
欧美日韩在线观看首页|
91社区在线播放|
人九九综合九九宗合|
亚洲欧洲一区二区|
羞羞色院91蜜桃|
99riav视频在线观看|
99久久亚洲一区二区三区青草|
国内精品视频久久|
97超碰在线免费观看|
亚洲精品久久久北条麻妃|
成人全视频免费观看在线看|
国产女同互慰高潮91漫画|
国产精品成人va在线观看|
日韩精品电影一区二区|
国产videos|
亚洲黄色天堂|
亚洲欧美国产精品|
国产传媒免费观看|
大肉大捧一进一出好爽|
一区二区在线|
亚洲欧美一区二区激情|
日本黄色福利视频|
亚洲第一天堂影院|
97欧美成人|
亚洲国产综合91精品麻豆|
免费看成人av|
国产高潮流白浆喷水视频|
国产成人精选|
天天综合色天天综合色h|
亚洲欧美日韩另类精品一区二区三区|
97人妻一区二区精品免费视频|
欧美性suv|
亚洲国产精品一区二区久久恐怖片|
久久综合福利|
www.亚洲天堂.com|
日韩欧美中文字幕一区二区三区
|
欧美色图久久|
婷婷精品在线观看|
欧美大片一区二区|
看欧美ab黄色大片视频免费|
免费aⅴ网站|
v888av成人|
欧美一区成人|
在线视频日韩精品|
精品人妻一区二区三区日产乱码卜|
国产女人伦码一区二区三区不卡
|
欧美剧在线免费观看网站|
91成人在线观看喷潮教学|
成人亚洲欧美日韩在线观看|
中文乱码免费一区二区三区下载|
亚洲精品视频在线观看视频|
岛国精品一区二区三区|
中文有码在线观看|
黄色日韩在线|
www.久久撸.com|
色屁屁草草影院ccyy.com|
久蕉依人在线视频|
成人精品视频一区二区三区|
99精品国产一区二区|
国产av精国产传媒|
99久久香蕉|
亚洲国产欧美久久|
日本免费福利视频|
国产精品久久久久久久龚玥菲|
www激情久久|
日本在线高清视频一区|
欧美人与动性xxxxx杂性|
欧美有码视频|
欧美激情啊啊啊|
日韩欧美亚洲视频|
a毛片在线播放|
亚洲品质自拍视频|
人妻av无码专区|
成人黄网大全在线观看|
国产一二精品视频|
久久草.com|
欧美wwwwxxxx|
午夜亚洲一区|
91福利视频导航|
69看片网站|
免费av一区|
日韩一区二区三区国产|
国产在线视频第一页|
99久久99九九99九九九|
日韩精品资源二区在线|
大乳护士喂奶hd|
在线三级中文|
欧美性欧美巨大黑白大战|
深爱五月综合网|
欧美r级在线|
欧美性xxxx|
久久久久99人妻一区二区三区
|
青青青伊人色综合久久|
97碰碰视频|
青青国产视频|
青草av.久久免费一区|
国产成人亚洲欧美|
国产青草视频在线观看视频|
男人的天堂亚洲一区|
国产日韩在线一区|
免费视频拗女稀缺一区二区
|
欧美成人午夜激情在线|
国产成人综合欧美精品久久|
精品素人av|
欧美日韩不卡合集视频|
亚洲综合精品视频|
成人综合日日夜夜|
亚洲日本中文字幕免费在线不卡|
久久久久成人片免费观看蜜芽|
天堂va欧美ⅴa亚洲va一国产|
亚洲免费视频观看|
日本在线小视频|
综合伊思人在钱三区|
久久久久久久一|
亚洲男女视频在线观看|
亚洲麻豆av|
国内精品一区二区|
免费看成年视频网页|
99九九99九九九视频精品|
福利视频一二区|
av电影在线观看一区二区三区|
91福利社在线观看|
内射毛片内射国产夫妻|
一区二区三区在线免费看
|
欧美亚洲高清一区二区三区不卡|
欧美自拍视频在线观看|
天天操天天舔天天干|
蜜桃av一区二区在线观看|
一级日韩一区在线观看|
男人天堂午夜在线|
欧美日韩免费在线|
调教驯服丰满美艳麻麻在线视频|
午夜精品久久久久久毛片|
欧美大成色www永久网站婷|
亚洲第九十九页|
极品美女销魂一区二区三区|
日本人妻伦在线中文字幕|
国产69精品久久app免费版|
欧美老年两性高潮|
日本a在线观看|
91精品蜜臀一区二区三区在线|
成人看片人aa|
色综合小说天天综合网|
亚洲精品菠萝久久久久久久|
99久久人妻无码中文字幕系列|
曰本一区二区|
91成人福利在线|
国产香蕉免费精品视频|
国产亚洲欧美激情|
日本少妇一区二区三区|
日韩成人一区|
日本精品一区二区三区在线|
a级片在线播放|
美洲天堂一区二卡三卡四卡视频|
国产人妻互换一区二区|
国产九一视频|
天天做天天摸天天爽国产一区|
国产第一页浮力|
99久久综合狠狠综合久久aⅴ|
麻豆av一区二区|
在线观看视频污|
日韩欧美一级二级三级久久久
|
caoporm免费视频在线|
国产亚洲人成a一在线v站|
天天躁日日躁狠狠躁喷水|
99久久久久免费精品国产|
人妻激情偷乱视频一区二区三区|
97久久精品一区二区三区的观看方式
|