Я смотрел, что IAR для Cortex M3 генерит. Выравнивание и упаковка структур - это отдельный вопрос
Для работы с 8/16 бит есть эффективные команды загрузки/выгрузки с одновременным преобразованием.
Единственные проблемы с преобразованием типов возвращаемых функцией.
Когда вычисление идет в 32 разряда, а результат 8/16 битный.
По этому обычно пишу функции типа int.
Укорачивание разрядности интересно еще тем, что компилятор может плотнее агрегатировать данные и обработка будет быстрее.