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

            Bug ID: 128358
           Summary: Use the integer register to form some 64bit vectors
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64

Take:
```
#define vector __attribute__((vector_size(8)))

vector int f(void)
{
  return (vector int){0,1};
}
```

Currently GCC loads from the constant pool but instead it could use the GPRs to
form the constant and then move it to the simd register.
LLVM started to do this in LLVM 23.

Reply via email to