Соглашение о вызове фукции

Думаю, исторически сложилось. Хотя если подумать...
Для fastcall у x86 недостаточно регистров общего назначения, а
cdecl проигрывает из-за необходимости вызывающему самому
очищать стек (в stdcall это может делать инструкция ret).

1