AArch64 3.LB+dmb.st+data+ctrl "DMB.STdRW Rfe DpDatadW Rfe DpCtrldW Rfe" Cycle=Rfe DMB.STdRW Rfe DpDatadW Rfe DpCtrldW Relax= Safe=Rfe DMB.STdRW DpDatadW DpCtrldW Prefetch=0:x=F,0:y=W,1:y=F,1:z=W,2:z=F,2:x=W Com=Rf Rf Rf Orig=DMB.STdRW Rfe DpDatadW Rfe DpCtrldW Rfe { 0:X1=x; 0:X3=y; 1:X1=y; 1:X3=z; 2:X1=z; 2:X3=x; } P0 | P1 | P2 ; LDR W0,[X1] | LDR W0,[X1] | LDR W0,[X1] ; DMB ST | EOR W2,W0,W0 | CBNZ W0,LC00 ; MOV W2,#1 | ADD W2,W2,#1 | LC00: ; STR W2,[X3] | STR W2,[X3] | MOV W2,#1 ; | | STR W2,[X3] ; Observed 2:X0=1; 1:X0=1; 0:X0=1;