Can num++ be atomic for 'int num'

Em geral, paraint num, num++ (ou++num), como uma operação de leitura-modificação-gravação, énot atomic. Mas muitas vezes vejo compiladores, por exemplo GCC, gere o seguinte código para ele try here):

Desde a linha 5, que corresponde anum++ é uma instrução, podemos concluir quenum++ is atomic nesse caso

E se, significa que @ assim geranum++ pode ser usado em cenários simultâneos (multiencadeados) sem qualquer risco de corrida de dados (ou seja, não precisamos fazê-lo, por exemplo,std::atomic<int> e imponha os custos associados, pois é atômico)?

ATUALIZA

Observe que esta pergunta énã se incremento atômica (não é e foi e é a linha de abertura da pergunta). É sepod em cenários específicos, isto é, se a natureza de uma instrução pode, em certos casos, ser explorada para evitar a sobrecarga dolock prefixo. E, como a resposta aceita menciona na seção sobre máquinas sem processador, bem comoesta resposta, a conversa em seus comentários e outros explicam,pod (embora não com C ou C ++

questionAnswers(13)

yourAnswerToTheQuestion