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

            Bug ID: 110166
           Summary: [14 Regression] wrong code with signed 1-bit integers
                    sometimes since r14-868-gb06cfb62229f
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: pinskia at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

Full tyestcase:
```
struct s
{
  int t : 1;
  int t1 : 1;
};

[[gnu::noipa]]
int f(struct s t)
{
   int c = t.t;
   int d = t.t1;
   if (c > d)
     t.t = d;
   else
     t.t = c;
  return t.t;
}

int main(void)
{
        struct s t;
        for(int i = -1;i <= 0; i++)
        {
          for(int j = -1;j <= 0; j++)
          {
                int r = f((struct s){i, j});
                int exp = i < j ? i : j;
                if (exp != r)
                 __builtin_abort();
          }
        }
}
```

Reply via email to