Schválně jsem zkusil kompilovat smyčku s čítačem jako int, int8_t a int_fast_t. GCC, přinejmenším verze 6.3 v Ubuntu zesty, na to kašle totálně, ve všech případech použije 32bitový registr (int je defaultně 32 bitů i na amd64) a s nějakým extra nulováním vyšších bajtů se nepárá. Jediný rozdíl je, když bude podmínka řekněmě i<300, což je u int8 evidentně pravda vždycky, tak z toho GCC udělá nekonečnou smyčku bez podmínky, ale pokud se hodnota i uvnitř smyčky ještě k něčemu používá, tak ji tentokrát (a jen tentokrát) ještě šoupne do jiného registru pomocí movsbl de facto jako rychlé mod 256.