"Model pretty print"
include "filters.cat"
include "cross.cat"
with co
from generate_cos(co0)
let fr = rf^-1;co
let fre = fr & ext
let coe = co & ext
show fr,co
acyclic po-loc | rf | fr | co
as uniproc
let dd = addr | data
let rdw = po-loc & (fre;rfe)
let detour = po-loc & (coe ; rfe)
let addrpo = addr;po
include "armfences.cat"
include "aarch64fences.cat"
include "ppcfences.cat"
let ctrlcfence = ctrlisync|ctrlisb
show isync \ ctrlcfence
as isync
show isb \ ctrlcfence
as isb
show ctrl \ ctrlcfence
as ctrl
let ci0 = ctrlisync| ctrlisb | detour
let ii0 = dd | rfi | rdw
let cc0 = dd | po-loc | ctrl | addrpo
let ic0 =
0
include "ppo.cat"
let lwsync_eff = RM(lwsync)|WW(lwsync)
let eieio_eff = WW(eieio)
show sync, lwsync, eieio
let dmb.st_eff=WW(dmb.st)
let dsb.st_eff=WW(dsb.st)
show dmb, dsb, dmb.st, dsb.st
let f64 = dsb.sy | dmb.sy | WW(dsb.st) | WW(dmb.st) | RM(dmb.ld) | RM(dsb.ld)
show dmb.sy,dsb.sy,dmb.st,dsb.st,dmb.ld,dsb.ld
let strong = sync|dmb|dsb|dmb.st_eff|dsb.st_eff|f64
let light = lwsync_eff|eieio_eff
include "ppc-checks.cat"