Hm, co ta race condition (mezi sub a cmpxchg může něco přijít) ? Naštěstí se dá snadno opravit (lock dec a ihned test na flags).
Ale je pravda, že většina moderních procesorů něco takového má, sparc třeba až od 64 bitů, ale přece.
Blbé je, že zrovna x86/x86_64 implementace je extrémně pomalá kvůli lockování sběrnice. Ostatní procesory používají obvykle load_exclusive a store_exclusive, která jen pasivně zkontroluje, zda mu lock někdo neshodil. Kód je pak delší, ale při srovnání s obyčejným increment stejně rychlý. To už je ale lehce OT.