[英]Optimizing used registers when using inline ARM assembly in GCC
我想在我的C代碼中編寫一些內聯ARM程序集。 對於此代碼,我需要使用一個或兩個以上的寄存器,而不僅僅是聲明為該函數的輸入和輸出的寄存器。 我知道如何使用清單列表告訴GCC我將使用一些額外的寄存器來進行計算。
但是,我確信,GCC可以自由地進行改組,以優化時使用哪些寄存器。 也就是說,我覺得使用固定寄存器進行計算是個壞主意。
在不使用固定寄存器的情況下,使用既不是行內程序集的輸入也不輸出的額外寄存器的最佳方法是什么?
PS我當時以為使用偽輸出變量可能會解決問題,但是我不確定其他什么樣的效果會產生...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.