[英]iOS - Will ASM code run on armv7/armv7s/arm64?
我試圖弄清楚這里示例中的函數neon_asm_convert()
的ASM
代碼是否將在所有armv7/armv7s/arm64
處理器(即iPhone 4S/5/5S
)上運行。
不幸的是,我並不擁有所有這些設備,因此簡單的運行測試是不可能的。 但是,我正在開發一個應用程序(僅使用armv7
進行測試),它使用了neon_asm_convert()
的__asm__()
neon_asm_convert()
,我想知道ASM
代碼是否也可以在arm64
運行。
我想我讀過在armv7/armv7s
上運行的ASM
代碼不會在arm64
運行,但我似乎無法找到該引用。
有沒有人有任何指示,冷幫助我?
看起來它不會在arm64
上運行。 正如這個答案所說:
arm64是一個新的ISA。 實際的NEON指令和寄存器布局是全新的。 您需要重新編寫或修改新體系結構的匯編代碼。
正如托默所說,沒有。 arm64是一種新的架構,具有新的指令語法和寄存器布局。
但是,作為Accelerate.framework的一部分,SDK中提供了這種顏色空間轉換的快速實現。 除特殊情況外,您不需要為此編寫自己的匯編代碼。 具體來說,您可以使用vImageConvert_AnyToAny函數,該函數提供此功能的高性能實現以及許多其他常見轉換,這些轉換適用於Apple發布的所有體系結構(armv7,armv7s,arm64,i386,x86_64)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.