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

            Bug ID: 118481
           Summary: missed removing of an if at the gimple level
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: missed-optimization, TREE
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: pinskia at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

Take:
```
typedef unsigned char v1 __attribute__((__vector_size__(1)));
void f(void*);
v1 vext_p64(v1 a, v1 b, unsigned n)
{
  v1 r = a;
  r[0] = (n == 0) ? a[n] : a[0];
  f(&a);
  return r;
}
```


We should be able to remove the if statement at the gimple level but currently
does not.

Note this testcase ICEs in GCC 14 (see PR 118476).

Reply via email to