на микроконтроллерах?
Сколько ни пишут, что компиляторы умеют оптимизировать лучше человека, но факты говорят за себя: код на асме получается короче, чем сгенерированный avr-gcc, даже с -Os. Раза в полтора-два.
Это существенно вызвано тем, что там, где я могу хранить переменную в отдельном регистре под нее, avr-gcc предпочитает хранить ее в памяти, подгружая в регистры для использования, а затем выгружая обратно.