ARM v7a和v8a對NEON的使用區(qū)別

原作大神的鏈接在這!M谩出牧!

ARM浮點(diǎn)運(yùn)算

強(qiáng)大的ARM v8A芯片,已經(jīng)不輸于JVM的設(shè)計(jì)了歇盼,也是很簡單舔痕。
源代碼:

double dadd(double a,double b){
    return a+b;
}

double dsub(double a,double b){
    return a-b;
}

double dmul(double a,double b){
    return a*b;
}

double ddiv(double a,double b){
    return a/b;
}

ARM v8a的浮點(diǎn)運(yùn)算

匯編代碼:

0000000000000760 <_Z4dadddd>:
 760:    1e612800     fadd    d0, d0, d1
 764:    d65f03c0     ret

0000000000000768 <_Z4dsubdd>:
 768:    1e613800     fsub    d0, d0, d1
 76c:    d65f03c0     ret

0000000000000770 <_Z4dmuldd>:
 770:    1e610800     fmul    d0, d0, d1
 774:    d65f03c0     ret

0000000000000778 <_Z4ddivdd>:
 778:    1e611800     fdiv    d0, d0, d1
 77c:    d65f03c0     ret

我們可以看到,寄存器已經(jīng)不是x開頭的通用寄存器了豹缀,而變成了d開頭的NEON寄存器伯复。我們實(shí)際上是借用了ARM v7a才出現(xiàn)的NEON指令才使得指令變得這么簡單。

也就是說邢笙,在ARM v8a架構(gòu)下使用NEON就不要像ARM v7a一樣的顯示調(diào)用了啸如,直接指明我要用的是D寄存器,具體怎么調(diào)用你們自己看著辦吧氮惯!

ARM v7a的浮點(diǎn)運(yùn)算:

同樣是NEON指令叮雳,但是v7a的就比v8a的看起來要復(fù)雜一點(diǎn)。不過倒更清晰地反映了邏輯事實(shí)妇汗。

v7a的NEON指令需要用vmov將通用寄存器中的數(shù)傳送到NEON寄存器中帘不,然后再進(jìn)行計(jì)算。結(jié)果再通過vmov送回到通用寄存器中杨箭。

00000fde <_Z4dadddd>:
     fde:    ec41 0b17     vmov    d7, r0, r1
     fe2:    ec43 2b16     vmov    d6, r2, r3
     fe6:    ee37 7b06     vadd.f64    d7, d7, d6
     fea:    ec51 0b17     vmov    r0, r1, d7
     fee:    4770          bx    lr

00000ff0 <_Z4dsubdd>:
     ff0:    ec41 0b17     vmov    d7, r0, r1
     ff4:    ec43 2b16     vmov    d6, r2, r3
     ff8:    ee37 7b46     vsub.f64    d7, d7, d6
     ffc:    ec51 0b17     vmov    r0, r1, d7
    1000:    4770          bx    lr

00001002 <_Z4dmuldd>:
    1002:    ec41 0b17     vmov    d7, r0, r1
    1006:    ec43 2b16     vmov    d6, r2, r3
    100a:    ee27 7b06     vmul.f64    d7, d7, d6
    100e:    ec51 0b17     vmov    r0, r1, d7
    1012:    4770          bx    lr

00001014 <_Z4ddivdd>:
    1014:    ec41 0b17     vmov    d7, r0, r1
    1018:    ec43 2b16     vmov    d6, r2, r3
    101c:    ee87 7b06     vdiv.f64    d7, d7, d6
    1020:    ec51 0b17     vmov    r0, r1, d7
    1024:    4770          bx    lr

傳統(tǒng)ARM的浮點(diǎn)運(yùn)算

沒啥說的寞焙,都得函數(shù)實(shí)現(xiàn)了:

00001248 <_Z3addll>:
    1248:    1840          adds    r0, r0, r1
    124a:    4770          bx    lr

0000124c <_Z3subll>:
    124c:    1a40          subs    r0, r0, r1
    124e:    4770          bx    lr

00001250 <_Z3mulll>:
    1250:    4348          muls    r0, r1
    1252:    4770          bx    lr

00001254 <_Z3divll>:
    1254:    b508          push    {r3, lr}
    1256:    f001 ff47     bl    30e8 <_Unwind_GetTextRelBase+0x8>
    125a:    bd08          pop    {r3, pc}

0000125c <_Z3modll>:
    125c:    b508          push    {r3, lr}
    125e:    f001 ff4b     bl    30f8 <_Unwind_GetTextRelBase+0x18>
    1262:    1c08          adds    r0, r1, #0
    1264:    bd08          pop    {r3, pc}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市告唆,隨后出現(xiàn)的幾起案子棺弊,更是在濱河造成了極大的恐慌晶密,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件模她,死亡現(xiàn)場離奇詭異稻艰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)侈净,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門尊勿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人畜侦,你說我怎么就攤上這事元扔。” “怎么了旋膳?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵澎语,是天一觀的道長。 經(jīng)常有香客問我验懊,道長擅羞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任义图,我火速辦了婚禮减俏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碱工。我一直安慰自己娃承,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布怕篷。 她就那樣靜靜地躺著历筝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匙头。 梳的紋絲不亂的頭發(fā)上漫谷,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天仔雷,我揣著相機(jī)與錄音蹂析,去河邊找鬼。 笑死碟婆,一個(gè)胖子當(dāng)著我的面吹牛电抚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竖共,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蝙叛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了公给?” 一聲冷哼從身側(cè)響起借帘,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤蜘渣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后肺然,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蔫缸,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年际起,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拾碌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡街望,死狀恐怖校翔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情灾前,我是刑警寧澤防症,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站哎甲,受9級特大地震影響告希,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜烧给,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一燕偶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧础嫡,春花似錦指么、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至巫财,卻和暖如春盗似,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背平项。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工赫舒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闽瓢。 一個(gè)月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓接癌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扣讼。 傳聞我的和親對象是個(gè)殘疾皇子缺猛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容