typedef unsigned int u_int8_t attribute ((mode (QI))); ##
typedef unsigned int u_int16_t attribute ((mode (HI)));
typedef unsigned int u_int32_t attribute ((mode (SI)));
typedef unsigned int u_int64_t attribute ((mode (DI)));
QI: An integer that is as wide as the smallest addressable unit, usually 8 bits.
HI: An integer, twice as wide as a QI mode integer, usually 16 bits.
SI: An integer, four times as wide as a QI mode integer, usually 32 bits.
DI: An integer, eight times as wide as a QI mode integer, usually 64 bits.
SF: A floating point value, as wide as a SI mode integer, usually 32 bits.
DF: A floating point value, as wide as a DI mode integer, usually 64 bits.
So DI is essentially sizeof(char) * 8.
typedef unsigned int uintptr_t attribute(mode(pointer)