ARM DETOUR1035
"PodWR Fri Rfi PosRW Wse DMBdWR Fre"
Cycle=Rfi PosRW Wse DMBdWR Fre PodWR Fri
Prefetch=0:x=F,0:y=W,1:y=F,1:x=T
Com=Ws Fr
Orig=PodWR Fri Rfi PosRW Wse DMBdWR Fre
{
%x0=x; %y0=y;
%y1=y; %x1=x;
}
P0 | P1 ;
MOV R0,#1 | MOV R0,#3 ;
STR R0,[%x0] | STR R0,[%y1] ;
LDR R1,[%y0] | DMB ;
MOV R2,#1 | LDR R1,[%x1] ;
STR R2,[%y0] | ;
LDR R3,[%y0] | ;
MOV R4,#2 | ;
STR R4,[%y0] | ;
Observed
0:R1=0; 0:R3=2; 1:R1=0; y=2;
and 0:R1=3; 0:R3=2; 1:R1=0; y=2;
and 0:R1=0; 0:R3=2; 1:R1=1; y=2;
and 0:R1=3; 0:R3=2; 1:R1=1; y=2;
and 0:R1=0; 0:R3=2; 1:R1=0; y=3;
and 0:R1=0; 0:R3=3; 1:R1=0; y=3;
and 0:R1=0; 0:R3=2; 1:R1=1; y=3;
and 0:R1=0; 0:R3=3; 1:R1=1; y=3;