"Less Relaxed ARM llh model"
include "filters.cat"
include "cosllh.cat"
let poi = WW(po-loc) | RW(po-loc) | WR(po-loc)
let complus = fr|rf|co|(co;rf)|(fr;rf)
irreflexive poi;complus
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"
let ci0 = ctrlisb | detour
let ii0 = dd | rfi | rdw
let cc0 = dd | ctrl | addrpo
| WW(po-loc) | RW(po-loc) | rdw | detour
let ic0 =
0
include "ppo.cat"
let dmb.st=WW(dmb.st)
let dsb.st=WW(dsb.st)
let strong = dmb|dsb|dmb.st|dsb.st
let light =
0
include "ppc-checks.cat"