Здравствуйте, Вызывает ли автоматическую блокировку инструкция XADD? Известно, что XCHG вызывает автоматическую блокировку (The XCHG instruction always asserts the LOCK# signal regardless of the presence or absence of the LOCK prefix) и можно писать не lock xchg ..., а просто lock xchg. Верно ли тоже самое для инструкции xadd? Или по-другому, есть ли на практике разница между инструкциями xadd и lock xadd? В интернете поискал - материал противоречивый, где-то написано что автоматическая блокировка вызывается для всех инструкций этого семейства, где написано так что можно трактовать по разному, где написано только про xchg. Заранее спасибо.
В описании LOCK (по Интел) в списке инструкций с автоматической вставкой LOCK есть только XCHG. Значит для XADD - LOCK нужен, если нужно atomic выполнение.