Итак, этому вопросу уже четыре года, и он все еще отображается в результатах поиска ...
В 2016 году дела обстоят намного лучше.
Большая часть простого кода, который я переписал с ассемблера на встроенную, теперь оптимизирована компиляторами лучше, чем я, потому что мне лень выполнять работу конвейера (для скольких различных конвейеров сейчас?), в то время как компиляторы просто нуждаются во мне, чтобы передать права --mtune=
.
Для сложного кода, где распределение регистров может быть затруднено, GCC и Clang могут по-прежнему генерировать код медленнее, чем рукописный, с коэффициентом два ... или три (иш). В основном это связано с разливами реестра, поэтому по структуре вашего кода вы должны знать, является ли это риском.
Но у обоих иногда случаются неутешительные происшествия. Я бы сказал, что прямо сейчас это стоит риска (хотя мне платят за риск), и если вас что-то поразит, тогда сообщите об ошибке. Таким образом, ситуация будет улучшаться.