Note that there is a separate __int128_t type that isn't part of the "standard" extension. Maybe it's there for that type?
Otherwise, I don't see what moving the test would accomplish. If "long" is never 128 bits, it doesn't matter if the int128 test is before or after it, and the other intN are never the same size as standard types, and we already have code to prefer unsigned for intN types.