Executions for behaviour:
"0:X1=1 ; 1:X3=0 ; y=3"
AArch64 LB+dmb.sy+amo.stadd-po-amo.ldadd "DMB.SYdRW Rfe Amo.StAdd 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.StAdd PodWR Amo.LdAdd Rfe { 0:X0=x; 0:X3=y; 1:X0=y; 1:X2=x; } P0 | P1 ; LDR W1,[X0] | MOV W1,#2 ; DMB SY | STADD W1,[X0] ; MOV W2,#1 | MOV W4,#1 ; STR W2,[X3] | LDADD W4,W3,[X2] ; Observed y=3; 1:X3=0; 0:X1=1;