"внутренняя" - это значит, что она есть частью библиотеки поддержки компилятора. Была бы у AVR команда деления необходимой ширины операндов (какая есть у x86 и возвращает она тоже одновремённо и частное, и остаток) - компилятор вставлял бы эту команду. Но её нет и он вставляет вызов подпрограммы.
Такие функции, вообще говоря, не обязаны даже поддерживать соглашения о вызовах, так как они не принадлежат к стандартной библиотеке языка, а есть внутренним делом компилятора.