https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107714
Bug ID: 107714 Summary: MVE: Invalid addressing mode generated for VLD2 Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: kevin.bracey at alifsemi dot com Target Milestone: --- Created attachment 53909 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53909&action=edit Stripped-down reproducer source While I was working on some Helium intrinsics, GCC produced some invalid code, meaning my optimisation can only be enabled in our armclang builds. Problem seems to be still present on GCC trunk. Posted at https://godbolt.org/z/h3EhMvxao Compilation options -O2 -mcpu=cortex-m55 -mfloat-abi=hard Error: instruction does not accept this addressing mode -- `vld21.8 {q4,q5},[r3],r2' Compiler Explorer output for trunk shows the same invalid addressing mode. (It also shows non-existent registers q8 and up in use - I don't know why. Not a problem in my local GCC, obtained from Arm's embedded distribution).