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).

Reply via email to