AArch64 ARMv8-csel-isb (* Final load on P0 does no depend on CSEL output *) { 0:X7=x; 0:X8=y; 0:X9=u; int *0:X2; 1:X7=x; 1:X8=y; } P0 | P1 ; LDR W1,[X7] | MOV W0,#1 ; CMP W1,#0 | STR W0,[X8] ; CSEL X2,X8,X9,NE | DMB ST ; ISB | MOV W2,#1 ; LDR W3,[X8] | STR W2,[X7] ; Observed 0:X3=0; 0:X1=1;