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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2025-09-29
           Severity|normal                      |enhancement

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The original testcase there is not much to be done on the tree level because
of:
```
  _6 = __builtin_ia32_vec_set_v16qi (_5, 10, 1);
```

But we could do it for:
```
#define vect16 __attribute__((vector_size(16)))

void ins1(vect16 char *s1)
{
    vect16 char t = (vect16 char)*s1;
    t[10] = 1;
    *s1 = (vect16 char)t;
}
```
Where we get:
```
  _1 = *s1_3(D);
  t_4 = BIT_INSERT_EXPR <_1, 1, 80 (8 bits)>;
  *s1_3(D) = t_4;
```

But this is context sensitive and maybe should be done late in the pipeline.

Reply via email to