Все эти статьи рекламные. Современный gcc отличается только
несколько раздутой стандартной библиотекой, так как та рассчитана
на кроссплатформенность. Особенно это заметно на программах типа
blink, когда простая мигалка после gcc весит байт на 500 больше,
чем IAR. Авторы обычно не используют readelf, даже не понимая, что
у них в проекте. Ну и фундоментальное непонимание того, что интерфейсы компиляторов разные - О2 у gcc и IAR принципиально разные. Оптимизации типа ускоренного ветвления подключается gcc на O2, на IAR при любой.