AArch64 LB+dmb.sy+amo.swp-po-amo.ldadd "DMB.SYdRW Rfe Amo.Swp PodWR Amo.LdAdd Rfe" Generator=diyone7 (version 7.56+02~dev) Prefetch=0:x=F,0:y=W,1:y=F,1:x=W Com=Rf Rf Orig=DMB.SYdRW Rfe Amo.Swp PodWR Amo.LdAdd Rfe { 0:X0=x; 0:X3=y; 1:X0=y; 1:X3=x; } P0 | P1 ; LDR W1,[X0] | MOV W2,#2 ; DMB SY | SWP W2,W1,[X0] ; MOV W2,#1 | MOV W5,#1 ; STR W2,[X3] | LDADD W5,W4,[X3] ; Observed y=2; 1:X4=0; 1:X1=1; 0:X1=1;