ARM MP+PPO074
"Fre DMBdWW Rfe PosRR DpDatadW PosWR DpCtrldW PosWR DpAddrdR"
Cycle=Rfe PosRR DpDatadW PosWR DpCtrldW PosWR DpAddrdR Fre DMBdWW
Relax=
Safe=Rfe Fre PosWR PosRR DMBdWW DpAddrdR DpDatadW DpCtrldW
Prefetch=1:x=T
Orig=Fre DMBdWW Rfe PosRR DpDatadW PosWR DpCtrldW PosWR DpAddrdR
{
%x0=x; %y0=y;
%y1=y; %z1=z; %a1=a; %x1=x;
}
P0 | P1 ;
MOV R0, #1 | LDR R0, [%y1] ;
STR R0, [%x0] | LDR R1, [%y1] ;
DMB | EOR R2,R1,R1 ;
MOV R1, #1 | ADD R2, R2, #1 ;
STR R1, [%y0] | STR R2, [%z1] ;
| LDR R3, [%z1] ;
| CMP R3, R3 ;
| BNE LC00 ;
| LC00: ;
| MOV R4, #1 ;
| STR R4, [%a1] ;
| LDR R5, [%a1] ;
| EOR R6,R5,R5 ;
| LDR R7, [R6,%x1] ;
Observed
1:R0=1; 1:R7=0;