Это видимо зависит от версии, например в версии 2.20 типы float, double, long double имеют размер 4 байта (строго четыре байта) это вероятно связано с соглашением о передачи параметров в функции (Первые два параметра передаются через регистры до четырёх на каждый параметр). А иначе пришлось бы передавать их только через стек.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)