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

            Bug ID: 66599
           Summary: on aarch64, some parameters to memory constraints
                    causes wrong ASM generation
           Product: gcc
           Version: 5.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: inline-asm
          Assignee: unassigned at gcc dot gnu.org
          Reporter: romain.gcc at dolbeau dot name
  Target Milestone: ---

Created attachment 35813
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35813&action=edit
two inline asm statements for aarch64, working/non-working

Using a memory constraint to some NEON operations on aarch64 (arm64) and
specifying a pointer with an offset causes the generation of invalid assembly.
Compiling the attached example with "gcc-5.1.0 -O2 -c test.c" gives:

#####
/tmp/cc4joSJm.s: Assembler messages:
/tmp/cc4joSJm.s:14: Error: invalid addressing mode at operand 2 -- `ld4
{v20.4s,v21.4s,v22.4s,v23.4s},[x0,64]'
#####

The syntax is invalid (the ",64" inside the brackets is not allowed if I
understand correctly the documentation).

Reply via email to