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.