https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117395
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=14295
Ever confirmed|0 |1
Last reconfirmed| |2024-11-01
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
It is a slight regression from GCC 14 though.
Which produced:
```
foo:
ldr q31, [x0, 32]
sub sp, sp, #128
add sp, sp, 128
dup d0, v31.d[1]
add v0.4h, v0.4h, v31.4h
ret
```
But that is only because vget_low_s16/vget_high_s16 didn't expand to using
BIT_FIELD_REF before.
The bigger issue is GCC does not have a copy propagation for aggregates pass
(see PR 14295 and others).