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

Drea Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2026-06-16
           Severity|normal                      |enhancement
     Ever confirmed|0                           |1
             Blocks|                            |85316

--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

So:
@1[1,8] % [-128, -15]
is just @1.

Note we can handle:

@1[1,8] % [15, 128]

though.

Reduced testcase:
```
int src(int v3_i8, int v4_i8) {
  if (!((1 <= v3_i8) && (v3_i8 <= 8))) __builtin_unreachable();
  if (!((-128 <= v4_i8) && (v4_i8 <= -15))) __builtin_unreachable();
  int i1_i8 = v3_i8 % v4_i8;
  return i1_i8;
}
```


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85316
[Bug 85316] [meta-bug] VRP range propagation missed cases

Reply via email to