如果設定了條件程式碼,乘法指令將需要額外的週期來執行併產生結果。如果未使用條件程式碼,或是被隨後的指令覆蓋,則可以禁止產生條件程式碼,從而消除額外的延遲。
如果未使用條件程式碼,或是被隨後的指令覆蓋,則不要設定條件程式碼。實際上,即使條件程式碼有用,我們也建議不要使用帶條件程式碼的乘法指令,而是將它替換成兩條相關的指令。
MLAS r0,r1,r2,r3 ;; XSC_MUL_CONDITION
UMLALS r1,r2,r3,r4
. . .
MULS r0,r1,r2 ;; XSC_MUL_CONDITION
ADD r3,r3,#1
SUB r4,r4,#1
SUB r5,r5,#1
MUL r0,r1,r2
ADD r3,r3,#1
SUB r4,r4,#1
SUB r5,r5,#1
CMP r0,#0