Имеется ли в компиляторе Oracle (Sun) Studio 12.2 C / C ++ / Fortran для Linux 64-разрядная версия, эквивалентная функции __sync_fetch_and_add, предоставляемой в gcc? Я не могу найти код обертки для Intel Atomics в документации Sun или файлы .h в моей установке Sun Studio. Это означает, что я либо плохо разбираюсь в поисках, либо, возможно, его не существует, не знаю, какой именно.
Мне нужен доступ к любым элементарным аппаратным функциям, доступным на Intel i7 с использованием компиляторов Sun C / C ++, таким как Test-and-set, Compare-and-swap, Fetch-and-foo.
Это осложняется тем фактом, что я не программист на ассемблере, и что это компилятор Sun, а не компилятор GCC, поэтому копирование кода asm из реализации открытого исходного кода gcc не обязательно будет работать, и, наконец, это 64 битный компилятор и аппаратное обеспечение, поэтому легко найти 32-битные примеры не обязательно будут работать в 64-битной системе.
Справочная информация: Цель состоит в том, чтобы реализовать несколько параллельных программ для многоядерных систем, которые требуют именно этих аппаратных компонентов.
Спасибо за чтение.