AArch64 LB+poxxs "PodRWXX RfeXX PodRWXX RfeXX" Cycle=RfeXX PodRWXX RfeXX PodRWXX Relax= Safe=PodRW RfeXX Prefetch=0:x=F,0:y=W,1:y=F,1:x=W Com=Rf Rf Orig=PodRWXX RfeXX PodRWXX RfeXX { ok=1; 0:X0=x; 0:X3=y; 0:X7=ok; 1:X0=y; 1:X3=x; 1:X7=ok; } P0 | P1 ; LDXR W1,[X0] | LDXR W1,[X0] ; STXR W2,W1,[X0] | STXR W2,W1,[X0] ; CBNZ W2,Fail0 | CBNZ W2,Fail1 ; MOV W4,#1 | MOV W4,#1 ; LDXR W5,[X3] | LDXR W5,[X3] ; STXR W2,W4,[X3] | STXR W2,W4,[X3] ; CBNZ W2,Fail0 | CBNZ W2,Fail1 ; B Exit0 | B Exit1 ; Fail0: | Fail1: ; MOV W6,#0 | MOV W6,#0 ; STR W6,[X7] | STR W6,[X7] ; Exit0: | Exit1: ; Observed y=1; x=1; ok=1; 1:X5=0; 1:X1=1; 0:X5=0; 0:X1=1;