[ARM] Switch the costs of mve1beat and mve4beat
authorDavid Green <david.green@arm.com>
Thu, 7 Jul 2022 15:10:00 +0000 (16:10 +0100)
committerDavid Green <david.green@arm.com>
Thu, 7 Jul 2022 15:10:00 +0000 (16:10 +0100)
commit438ffdb821bb930b4b4e18fcd863ba37dc23bf16
treeb07a2e4eee0e29f637f07e663d42e41ca6525153
parenta442c628882eb07fffff8c9f7c87a317af14555a
[ARM] Switch the costs of mve1beat and mve4beat

These three subtarget features are meant to control where MVE
instructions take 1 vs 2 vs 4 architectural beats. The mve1beat feature
is described as "Model MVE instructions as a 1 beat per tick
architecture", meaning MVE instruction will execute over 4 cycles.
mve4beat is the opposite where the entire 4 beats of the MVE instruction
execute in a single cycle. The costs for the two were backwards though,
not matching the cycle counts like they should. This patch switches the
costs on the two to bring them in-line with expectations.

Differential Revision: https://reviews.llvm.org/D129141
llvm/lib/Target/ARM/ARM.td
llvm/test/Analysis/CostModel/ARM/arith.ll
llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll