l'empilement des paramètres se font par multiples de taille d'un GPR. Emplier un char (1 octet) empilera 4 octets, pas 1 seul. Et ce n'est pas vraiment une promotion, c'est 1 octet + 3 octets inutilisés.
effectivement ce ne sont pas toutes les promotions, caster de char vers short ça restera de 8 à 16 bits, mais là je parle de l'empilement, et sur archi x86.