Кажется, fetch_add - это win (см. Также комментарии к комментариям) против цикла CAS на процессорах, которые поддерживают оба.
При переключении битов сброса на биты можно использовать битовую операцию или операцию сложения. Результаты будут идентичны. Я ожидаю, что производительность для каждого будет равной. Таким образом, решение о том, какую операцию использовать, будет зависеть от различий в аппаратной поддержке операций (если есть, я не смог найти какую-либо информацию об относительной поддержке процессора).
Есть ли в этом случае причина отдавать предпочтение одному другому?