http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60846
Bug ID: 60846 Summary: Add 128-bit integer types for general use on 32-bit/64-bit CPUs Product: gcc Version: unknown Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jirik.svoboda at seznam dot cz (u)int64_t is available on all targets (32-bit and 64-bit) but __int128 isn't (according to http://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html __int128 is only available if long long is 128-bits wide which doesn't seem to be the case for 32-bit/64-bit Intel targets). Please add something like (u)int128_t, i.e. 128-bit signed and unsigned integer types available on 32-bit and 64-bit compiler targets. This would allow, for example, representing an IPv6 address as a single scalar value. Address masking could be performed with a simple bitwise operator. Since 32-bit and 64-bit CPUs typically cannot operate on 128-bit integers directly, multiple instructions need to be generated for a single arithmetic operation.