wmb() fence wo,wo smp_load_acquire() l{b|h|w|d}; fence r,rw atomic_load(memory_order_seq_cst) fence rw,rw; l{b|h|w|d}; fence r,rw atomic_load(memory_order_seq_cst) fence rw,rw; l{b|h|w|d}; fence r,rw atomic_thread_fence(memory_order_release) fence rw,w atomic_thread_fence(memory_order_acq_rel) fence.tso atomic_thread_fence(memory_order_seq_cst) fence rw,rw (e) amoswap.w.rl a2,t1,0(s2) (c) sw t1,0(s1) xor a2,a1,a1 add s0,s0,a2 (g) lw a3,0(s0) Outcome: a0=1, a1=1, a2=0 Table 98. Mixed-size discrepancy (permitted by axiomatic models, forbidden by operational model) Hart 0 Hart 1 (a) sw t1,0(s0) Outcome: a0=1, a1=1, a2=0 Table 98. Mixed-size discrepancy (permitted by axiomatic models, forbidden by operational model) Hart 0 Hart 1 li t1, 1 (a) sw t1,0(s0) (e) sw t1,0(s2) (f) lw a2,4(s1) (c) sw t1,0(s1) xor a3,a2,a2 add s0,s0,a3 (f) sw t5,0(s0) ⋮ ⋮ li t2,2 (b) sw t1, 0(s0) Outcome: a0=1, a1=2, a2=0 is legal (as are various sizes of repetitive-HE- pulse test installations: a 4-m and 10-m single-pulse test specimens after exposure to nuclear-energy pulse units in actual hardware implementation beyond omitting support for RV32 and
hydra