[ARM] MVE FP16 cost adjustments
authorDavid Green <david.green@arm.com>
Mon, 6 Jul 2020 13:25:16 +0000 (14:25 +0100)
committerDavid Green <david.green@arm.com>
Mon, 6 Jul 2020 14:57:51 +0000 (15:57 +0100)
commit146dad0077b46a0fb8e158c10490c1774db5a762
tree1c49cc520fabec7731a959cdd1e4ddb0cbad7e3b
parentcd9a241f165013902fc060ace88c66e402c7767a
[ARM] MVE FP16 cost adjustments

This adjusts the MVE fp16 cost model, similar to how we already do for
integer casts. It uses the base cost of 1 per cvt for most fp extend /
truncates, but adjusts it for loads and stores where we know that a
extending load has been used to get the load into the correct lane, and
only an MVE VCVTB is then needed.

Differential Revision: https://reviews.llvm.org/D81813
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll