AArch64 S+dmb.syw0w4+posw4p-pospw0-dataw0q0 "DMB.SYdWWw0w4 Rfew4w4 PosRRw4P PosRRPw0 DpDatadWw0q0 Wseq0w0" Cycle=PosRRPw0 DpDatadWw0q0 Wseq0w0 DMB.SYdWWw0w4 Rfew4w4 PosRRw4P Relax=PosRR Safe=[Wse,w0,DMB.SYdWW,w4,Rfe] DpDatadW w0 w4 q0 Generator=diy7 (version 7.50+1(dev)) Prefetch=0:x=F,0:y=W,1:y=F,1:x=W Com=Rf Ws Orig=DMB.SYdWWw0w4 Rfew4w4 PosRRw4P PosRRPw0 DpDatadWw0q0 Wseq0w0 { uint64_t y; uint64_t x; uint64_t 1:X0; 0:X0=0x2020202; 0:X1=x; 0:X2=0x1010101; 0:X3=y; 1:X1=y; 1:X4=0x101010101010101; 1:X6=x; } P0 | P1 ; STR W0,[X1] | LDR W0,[X1,#4] ; DMB SY | LDR X2,[X1] ; STR W2,[X3,#4] | LDR W3,[X1] ; | EOR X5,X3,X3 ; | ADD X5,X5,X4 ; | STR X5,[X6] ; Observed y=0x101010100000000; x=0x101010102020202; 1:X0=0x1010101;