簡體   English   中英

iOS - ASM代碼是否可以在armv7 / armv7s / arm64上運行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM