Test W+RWC+poxxs

AArch64 W+RWC+poxxs
"PodWWXX RfeXX PodRRXX FreXX PodWRXX FreXX"
Cycle=RfeXX PodRRXX FreXX PodWRXX FreXX PodWWXX
Relax=
Safe=PodWW PodWR PodRR RfeXX FreXX
Prefetch=0:x=F,0:y=W,1:y=F,1:z=T,2:z=F,2:x=T
Com=Rf Fr Fr
Orig=PodWWXX RfeXX PodRRXX FreXX PodWRXX FreXX
{ ok=1;
0:X0=x; 0:X4=y; 0:X8=ok;
1:X0=y; 1:X3=z; 1:X6=ok;
2:X0=z; 2:X4=x; 2:X7=ok;
}
 P0              | P1              | P2              ;
 MOV W1,#1       | LDXR W1,[X0]    | MOV W1,#1       ;
 LDXR W2,[X0]    | STXR W2,W1,[X0] | LDXR W2,[X0]    ;
 STXR W3,W1,[X0] | CBNZ W2,Fail1   | STXR W3,W1,[X0] ;
 CBNZ W3,Fail0   | LDXR W4,[X3]    | CBNZ W3,Fail2   ;
 MOV W5,#1       | STXR W2,W4,[X3] | LDXR W5,[X4]    ;
 LDXR W6,[X4]    | CBNZ W2,Fail1   | STXR W3,W5,[X4] ;
 STXR W3,W5,[X4] | B Exit1         | CBNZ W3,Fail2   ;
 CBNZ W3,Fail0   | Fail1:          | B Exit2         ;
 B Exit0         | MOV W5,#0       | Fail2:          ;
 Fail0:          | STR W5,[X6]     | MOV W6,#0       ;
 MOV W7,#0       | Exit1:          | STR W6,[X7]     ;
 STR W7,[X8]     |                 | Exit2:          ;
 Exit0:          |                 |                 ;
Observed
    z=1; y=1; x=1; ok=1; 2:X5=0; 2:X2=0; 1:X4=0; 1:X1=1; 0:X6=0; 0:X2=0;