国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

設(shè)計(jì)前沿的網(wǎng)站東莞網(wǎng)站關(guān)鍵詞優(yōu)化公司

設(shè)計(jì)前沿的網(wǎng)站,東莞網(wǎng)站關(guān)鍵詞優(yōu)化公司,國(guó)內(nèi)做視頻課程的網(wǎng)站有哪些,廈門企業(yè)建站模板在上一篇博文《海光處理器與AMD Zen1的指令差異-CSDN博客》中發(fā)現(xiàn),海光相比AMD,缺失了一些指令集。 那么在AMD或Intel上編譯出來(lái)的程序,可以跑在海光上嗎? 這個(gè)問(wèn)題的關(guān)鍵,在于編譯器默認(rèn)使用哪些指令來(lái)編譯程序。以Ce…

????????在上一篇博文《海光處理器與AMD Zen1的指令差異-CSDN博客》中發(fā)現(xiàn),海光相比AMD,缺失了一些指令集。

????????那么在AMD或Intel上編譯出來(lái)的程序,可以跑在海光上嗎?

? ? ? ? 這個(gè)問(wèn)題的關(guān)鍵,在于編譯器默認(rèn)使用哪些指令來(lái)編譯程序。以CentOS8.4為例,它自帶的gcc版本為gcc version 8.4.1 20200928:

[root@CentOS8 ~]# gcc -v

Using built-in specs.

COLLECT_GCC=/usr/bin/gcc

COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper

OFFLOAD_TARGET_NAMES=nvptx-none

OFFLOAD_TARGET_DEFAULT=1

Target: x86_64-redhat-linux

Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux

Thread model: posix

gcc version 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC)

? ? ? ? gcc在編譯的時(shí)候,可通過(guò)-march=來(lái)指定要使用的指令范圍,默認(rèn)值為-march=x86-64,這個(gè)默認(rèn)值是構(gòu)建gcc自身時(shí)指定的,即上表中的--with-arch_32=x86-64。

? ? ? ? 接下來(lái)看一下-march=x86-64代表的指令范圍。

[root@CentOS8 ~]# gcc -march=x86-64 -c -Q --help=target | grep -i enabled

? -m128bit-long-double????????????????? [enabled]

? -m64????????????????????????????????? [enabled]

? -m80387?????????????????????????????? [enabled]

? -malign-stringops???????????????????? [enabled]

? -mavx256-split-unaligned-load???????? [enabled]

? -mavx256-split-unaligned-store??????? [enabled]

? -mfancy-math-387????????????????????? [enabled]

? -mfp-ret-in-387?????????????????????? [enabled]

? -mfxsr??????????????????????????????? [enabled]

? -mglibc?????????????????????????????? [enabled]

? -mhard-float????????????????????????? [enabled]

? -mieee-fp???????????????????????????? [enabled]

? -mlong-double-80????????????????????? [enabled]

? -mmmx???????????????????????????????? [enabled]

? -mno-sse4???????????????????????????? [enabled]

? -mpush-args?????????????????????????? [enabled]

? -mred-zone??????????????????????????? [enabled]

? -msse???????????????????????????????? [enabled]

? -msse2??????????????????????????????? [enabled]

? -mstv???????????????????????????????? [enabled]

? -mtls-direct-seg-refs???????????????? [enabled]

? -mvzeroupper????????????????????????? [enabled]

????????這些指令代表什么意思呢?

?-march=x86-64 of GCC8.4.1(CentOS8.4)x86-64Instructions
m128bit-long-double[enabled]sizeof(long double) is 16.
m64[enabled]Generate 64bit x86-64 code.
m80387[enabled]Use hardware fp.
malign-stringops[enabled]Align destination of the string operations.
march=x86-64Generate code for given CPU.
mavx256-split-unaligned-load[enabled]d Split 32-byte AVX unaligned load.
mavx256-split-unaligned-store[enabled]re Split 32-byte AVX unaligned store.
mfancy-math-387[enabled]Generate sin, cos, sqrt for FPU.
mfp-ret-in-387[enabled]Return values of functions in FPU registers.
mfxsr[enabled]Support FXSAVE and FXRSTOR instructions.
mglibc[enabled]Use GNU C library.
mhard-float[enabled]Use hardware fp.
mieee-fp[enabled]Use IEEE math for fp comparisons.
mlong-double-80[enabled]Use 80-bit long double.
mmmx[enabled]Support MMX built-in functions.
mno-sse4[enabled]Do not support SSE4.1 and SSE4.2 built-in functions and code generation.
mpush-args[enabled]Use push instructions to save outgoing arguments.
mred-zone[enabled]Use red-zone in the x86-64 code.
msse[enabled]Support MMX and SSE built-in functions and code generation.
msse2[enabled]Support MMX, SSE and SSE2 built-in functions and code generation.
mstv[enabled]Disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones.
mtls-direct-seg-refs[enabled]Use direct references against %gs when accessing tls data.
mvzeroupper[enabled]Generate vzeroupper instruction before a transfer of control flow out of the function.

? ? ? ? 很明顯,這個(gè)-march=x86-64代表的指令范圍很小,海光全部都支持。所以,默認(rèn)情況下,在AMD上編譯的程序,依然可以跑在海光上。?

? ? ? ? ?如果gcc編譯的時(shí)候指定-march=znver1,那么海光可以運(yùn)行嗎?答案是否定的,因?yàn)橹辽儆?個(gè)指令集海光是不支持的:aes和pclmul。

????????只有一種特例:那就是程序本身并不涉及加解密,編譯之后的匯編代碼不包括aes和pclmul相關(guān)指令,即使編譯的時(shí)候指定-march=znver1,那么這個(gè)程序還是可以跑在海光上的。

?-march=??? of GCC8.4.1(CentOS8.4)x86-64znver1
m128bit-long-double[enabled][enabled]
m64[enabled][enabled]
m80387[enabled][enabled]
mabm[disabled][enabled]
madx[disabled][enabled]
maes[disabled][enabled]
malign-stringops[enabled][enabled]
march=x86-64znver1
mavx[disabled][enabled]
mavx2[disabled][enabled]
mavx256-split-unaligned-store[enabled][enabled]
mbmi[disabled][enabled]
mbmi2[disabled][enabled]
mclflushopt[disabled][enabled]
mclzero[disabled][enabled]
mcx16[disabled][enabled]
mf16c[disabled][enabled]
mfancy-math-387[enabled][enabled]
mfma[disabled][enabled]
mfp-ret-in-387[enabled][enabled]
mfsgsbase[disabled][enabled]
mfxsr[enabled][enabled]
mglibc[enabled][enabled]
mhard-float[enabled][enabled]
mieee-fp[enabled][enabled]
mlong-double-80[enabled][enabled]
mlzcnt[disabled][enabled]
mmmx[enabled][enabled]
mmovbe[disabled][enabled]
mmwaitx[disabled][enabled]
mpclmul[disabled][enabled]
mpopcnt[disabled][enabled]
mprfchw[disabled][enabled]
mpush-args[enabled][enabled]
mrdrnd[disabled][enabled]
mrdseed[disabled][enabled]
mred-zone[enabled][enabled]
msahf[disabled][enabled]
msha[disabled][enabled]
msse[enabled][enabled]
msse2[enabled][enabled]
msse3[disabled][enabled]
msse4[disabled][enabled]
msse4.1[disabled][enabled]
msse4.2[disabled][enabled]
msse4a[disabled][enabled]
mssse3[disabled][enabled]
mstv[enabled][enabled]
mtls-direct-seg-refs[enabled][enabled]
mtune=genericznver1
mvzeroupper[enabled][enabled]
mxsave[disabled][enabled]
mxsavec[disabled][enabled]
mxsaveopt[disabled][enabled]
mxsaves[disabled][enabled]

如果你覺(jué)得有用,請(qǐng)點(diǎn)贊收藏哈!?

http://aloenet.com.cn/news/30496.html

相關(guān)文章:

  • 做社群的網(wǎng)站有哪些西安百度推廣怎么做
  • wordpress html插件優(yōu)化網(wǎng)站做什么的
  • 哪家公司做網(wǎng)站最好網(wǎng)絡(luò)營(yíng)銷專業(yè)技能
  • 明年做那些網(wǎng)站致富網(wǎng)站優(yōu)化包括哪些
  • 無(wú)極網(wǎng)站站怎么有的下不了如何讓百度收錄自己信息
  • 新都網(wǎng)站開(kāi)發(fā)鄭州百度網(wǎng)站優(yōu)化排名
  • 營(yíng)銷網(wǎng)站的搭建磁力兔子
  • 類似非小號(hào)的網(wǎng)站怎么做軟文推廣一般發(fā)布在哪些平臺(tái)
  • 上城網(wǎng)站建設(shè)百度快照推廣是什么意思
  • 網(wǎng)站添加視頻代碼網(wǎng)絡(luò)建站流程
  • 亞馬遜做deal的網(wǎng)站淘寶指數(shù)網(wǎng)址
  • 網(wǎng)站建設(shè)怎樣上傳程序企業(yè)網(wǎng)站營(yíng)銷的實(shí)現(xiàn)方式
  • 做網(wǎng)站的畢設(shè)開(kāi)題依據(jù)在線注冊(cè)網(wǎng)站
  • 如何在office做網(wǎng)站360站長(zhǎng)平臺(tái)
  • 公司網(wǎng)站維護(hù)好做嗎百度移動(dòng)端排名軟件
  • 網(wǎng)站建設(shè)外包流程網(wǎng)站排名優(yōu)化怎樣做
  • 萊蕪亓家網(wǎng)站優(yōu)化神馬網(wǎng)站關(guān)鍵詞排名價(jià)格
  • 網(wǎng)站建設(shè)在線視頻百度云搜索入口
  • diy做網(wǎng)站搜索關(guān)鍵詞的工具
  • 學(xué)做靜態(tài)網(wǎng)站怎么做電商生意
  • 織夢(mèng)網(wǎng)站聯(lián)系我們的地圖怎么做關(guān)鍵詞搜索廣告
  • 湛江模板建站系統(tǒng)海外短視頻軟件
  • 哪里做網(wǎng)站最好小時(shí)seo加盟
  • 建設(shè)云南省癌癥中心網(wǎng)站關(guān)鍵詞優(yōu)化價(jià)格
  • 網(wǎng)站新聞對(duì)百度優(yōu)化有用嗎百度網(wǎng)盤搜索入口
  • 虛擬主機(jī)怎么弄網(wǎng)站南昌seo推廣
  • 網(wǎng)站專做盜版小說(shuō) 會(huì)犯法嗎百度搜索指數(shù)排行榜
  • 諸城網(wǎng)絡(luò)營(yíng)銷免費(fèi)發(fā)seo外鏈平臺(tái)
  • 廈門大型企業(yè)網(wǎng)站開(kāi)發(fā)公司高級(jí)seo招聘
  • 學(xué)校教育網(wǎng)站模板惡意點(diǎn)擊推廣神器