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

            Bug ID: 99038
           Summary: aarch64_rtx_costs is missing tests for vector
                    immediate forms
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rsandifo at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64*-*-*

aarch64_rtx_costs is relatively good about matching immediates
for scalar operations, but it's missing cases for the corresponding
vector operations.  E.g. PLUS of a vector constant is more expensive
(by 1 instruction) than PLUS of a register, even if the constant
is a valid immediate operand.  This contributes to the brittleness
of the costing scheme.  E.g. any change to the cost of CONST_VECTOR
moves will trigger for cases in which no CONST_VECTOR move is
actually needed.

Reply via email to