8
我讀過this LWN article很感興趣。執行摘要:GCC 6.x支持一種稱爲功能多版本的功能,它構建了針對不同指令集進行優化的相同功能的多個版本。假設您有一臺支持AVX2的機器,另一臺機器沒有。可以在兩個版本上運行相同的二進制文件,函數foo()存在兩個版本,其中一個版本使用AVX2指令。但是,只有在CPU支持它的情況下才會調用帶有AVX2指令的功能。叮噹提供類似於GCC 6.x的多版本(target_clones)功能嗎?
我的問題是:clang是否支持類似的東西?它看起來不像世界上最先進的功能。
應該有一些東西,我注意到在Xcode Instruments分析器調用像_platform_memmove $ VARIANT $ Haswell這暗示應該有一個選項。雖然文檔是完全沉默的; target_clones不起作用,也不能使用標有不同目標屬性的單獨函數 –