https://bugs.kde.org/show_bug.cgi?id=344524
--- Comment #19 from Julian Seward <jsew...@acm.org> --- Hmm, even that is too relaxed, because it doesn't reject mismatched load vs store sizes. Here's a variant that does check sizes, and uses size == 0 to mean "no transaction pending". LoadLinked(addr) gs.LLsize = load_size // 1, 2, 4 or 8 gs.LLaddr = addr gs.LLdata = zeroExtend(*addr) StoreCond(addr, data) tmp_LLsize = gs.LLsize gs.LLsize = 0 // "no transaction" if tmp_LLsize != store_size -> fail if addr != gs.LLaddr -> fail if zeroExtend(*addr) != gs.LLdata -> fail cas_ok = CAS(store_size, addr, gs.LLdata -> data) if !cas_ok -> fail succeed When thread scheduled gs.LLsize = 0 // "no transaction" -- You are receiving this mail because: You are watching all bug changes.