Author here - happy to answer any questions you may have.<p>I originally submitted the post in 2021, but it was (somehow) picked up for a second chance.<p>The work has evolved into a Rust project Temper[1], which features a fairly intricate simulation of the Rust/C++11-without-consume memory model, supporting a superset of what Loom's atomics can simulate, but it's much much slower.<p>It also contains the most comprehensive set of C++11 memory model tests that I'm aware of, with test cases sourced from books, blog posts, Stack Overflow and the C++ standard. I'd love to be pointed at something larger, if it exists. [2]<p>[1] <a href="https://github.com/reitzensteinm/temper">https://github.com/reitzensteinm/temper</a>
[2] <a href="https://github.com/reitzensteinm/temper/tree/main/memlog/tests">https://github.com/reitzensteinm/temper/tree/main/memlog/tes...</a>
It would be interesting to see this interact with the lower-level ISA memory model work in diy, litmus, etc. Could you validate your ISA memory models against the generated litmus tests in <a href="https://www.cl.cam.ac.uk/~pes20/ppc-supplemental/test6.pdf" rel="nofollow">https://www.cl.cam.ac.uk/~pes20/ppc-supplemental/test6.pdf</a>, <a href="https://github.com/litmus-tests/litmus-tests-riscv">https://github.com/litmus-tests/litmus-tests-riscv</a>?