此指令將 WMMX 載入/儲存指令的結果用作源運算元。在結果出來之前,管道暫停,指令執行要額外花費幾個週期。
如果可能,請重新給指令排序,以填補使用暫存器的指令執行之前的額外延遲週期。
與 ARM 核心的 Load 指令一樣,如果要載入的數據不在數據快取中,WMMX 載入指令的結果延遲會長很多。因此,最好讓 WMMX 載入指令與使用 WMMX 載入結果的指令相距儘可能地遠。此外,還可以使用 PLD 指令,以確保 WMMX 載入指令中的數據訪問在執行時能夠命中快取。如需有關詳細資訊,請參閱 PLD 警告與建議。
此“懲罰/警告”僅適用於“英特爾(R) 無線 MMX(TM) 指令集”。
ADD R0, R2, R3
WLDRB wR2, [R1, #0x8]
WSUB wR4, wR2, wR0 ;; XSCW_REG_wR2, XSCW_LDRSTR_RES
SUB R8, R4, R3
WLDRB wR2, [R1, #0x8]
ADD R0, R2, R3
SUB R8, R4, R3
WSUB wR4, wR2, wR0
WSTRB wR2, [R1, #0x8]!
SUB R8, R9, R1, LSL #1 ;; XSC_REG_R1, XSCW_LDRSTR_RES