Компилятор IBM смог сделать это несколько версий назад, но я не уверен насчет этого и не уверен, насколько хорошо IBM оптимизировала ядро в соответствии с инструкциями. Все, что я знаю, они построили это.
Поскольку Linux является самостоятельным хостингом (со своим собственным libc) и изначально разрабатывался с использованием gcc (и кросс-компиляторов gcc), это глупо, если использовать что-либо еще.
Я думаю, в основном, хорошая игра с макросами препроцессора и проинструктированными оптимизациями является самым большим препятствием (даже не отходя от газа), так как GNU в основном написал книгу выше и расширил ее. Кроме того, Linux настраивает свои оптимизации для работы с gcc, например, чтобы не попасться при использовании 'volatile' в ядре без чертовски веской причины. Использование inline и фактическое согласие компилятора - еще одна проблема.
Линус первым назвал GCC дырой & * # $, что делает его лучшим компилятором.
Вот почему у нас большие дебаты по GNU / Linux.