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.

Reply via email to