我正在嘗試優化Armv8架構的Arm處理器(Corte-A53)以達到加密目的。gcc; Aarch64; Armv8;啓用加密; -mcpu = cortex-a53 + crypto
問題是,然而編譯器接受-mcpu=cortex-a53+crypto
等它不會改變輸出(我檢查了組件輸出)。
更改mfpu,mcpu添加像crypto或simd期貨,沒關係,它完全被忽略。
要啓用霓虹燈代碼--ftree - 矢量化是必要的,如何使用加密?
(我檢查了-O(1,2,3)標誌,它不會幫助)。
編輯:我意識到我犯了一個錯誤,認爲加密標誌像編譯器解決的優化標誌一樣工作。我的錯。
你爲什麼期望編譯器發出加密指令?編譯器標誌可能僅用於檢查可選行爲。 – auselen
你正在編譯的代碼是什麼?除非你真的在建造例如一個包含一些使用加密指令的程序集的加密庫,只是簡單地使用它們而不是自己做很多事情。我不相信GCC足夠聰明地說:「嘿,這個隨機的C代碼 - 看起來像一個SHA-1實現,讓我們優化它吧!」全部由它自己... – Notlikethat
該代碼使用c實現的AES指令,我期望(希望)編譯器會對它做任何事情,如優化標誌。我還沒有找到有用的文檔(或實現)。你認爲國旗只是一張支票?所以所有的代碼都應該寫成內聯彙編? – koldewb