То, что видел я - для расчета адреса элементов структур используется подпрограмма умножения, которая при каких-то условиях не оптимизируется. Про поиск в ассемблере дело говорят. Я его не знаю, но и то нашел некоторые тонкости.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)