https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110043

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
More simplified testcase:
```
__int128 g_116_1;
extern char g_521[][8];
void func_24() {
  if (g_116_1 >= 0)
    g_521[g_116_1][g_116_1] &= 0;
}
```

I think this ICEs with types which >= sizeof(offset_int)

Which is defined as:
typedef FIXED_WIDE_INT (ADDR_MAX_PRECISION) offset_int;

Which is basically says:
     The extra sign bit means that offset_int is effectively a signed
     128-bit integer, i.e. it behaves like int128_t.

Reply via email to