ССАГПЗ __sync_fetch_and_add
является встроенной реализацией x86 встроенного ассемблера:Встроенный ассемблер __sync_fetch_and_add и __sync_add_and_fetch
asm("lock; xaddl %%eax, %2;"
:"=a" (val)
: "a" (val), "m" (*ptr) :)
Как я могу реализовать эту ассемблерные используя addl
инструкции вместо xaddl
?
И еще один вопрос, который у меня есть, как будет встроенная сборка x86 встроенного __sync_add_and_fetch
?
Спасибо.
«Как я могу реализовать». Я имею в виду, как я могу написать эту инструкцию в встроенной сборке. – robertog8
См. Gcc docs на встроенной сборке по адресу http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html. – gsg